2012-01-16 16 views
6

Tengo un problema que he especificado el color de RequiredFieldValidator en rojo, pero cuando publico el sitio web en la red, el color de RequiredFieldValidator cambia a negro. funciona bien en localhost. Cual podría ser el problema ? gracias de antemano ..¿cómo puedo hacer que el color de Valdator sea rojo?

this is the image like what i want

+0

Muéstranos tu marca/CSS – IrishChieftain

+0

Acabo de especificar la propiedad ForeColor = red de los Validadores. pero no funciona – Rohan

+3

puede intentar usar estilos CSS, dar una clase '.errorMsg {color: red;}' – Murtaza

Respuesta

3

Por defecto, el validador es de color rojo - que no es necesario cambiarlo. Verifica tu CSS para asegurarte de que no se sobreponga a nada. También verifique la clase en la que se establece elvalor de campo required y asegúrese de que no incluya una propiedad de color.

+1

Para que quede más claro: como menciona Jason, el color predeterminado es SÓLO el rojo antes de .NET 4.0. Si no desea cambiar el color de CADA validador en todo el sitio web, deberá actualizar su web.config de la forma en que menciona Syed. Probablemente sea una buena idea actualizar la configuración web para los sitios existentes que fueron diseñados <4.0 y luego movidos a 4.0+ a menos que haya probado todas y cada una de las páginas. – Bolo

14

Rohan,

Esto puede haber sido el problema. Yo tuve el mismo problema.

De forma predeterminada, Framework 4.0 hará que todos los mensajes de error del validador sean negros. Necesitará establecer explícitamente ForeColor de todos los validadores en rojo si apunta a Framework 4.0.

Su salida de la fuente en el punto 3.5:

<span id="ctl01_YourControl" style="color:Red;visibility:hidden;">*</span> 

Su salida de la fuente de 4.0:

<span id="ctl01_YourControl" style="visibility:hidden;">*</span> 
+0

Esto es exactamente lo que me sucedió. Estuve probando en .NET 2.0 pero la producción se estaba ejecutando en 4.0. ¡Gracias por el consejo! – dandax

5

ASP.NET 4.0 tiene cambios en el código más limpio de salida, que incluyen:

xhtmlConformance es establecer en Estricto. Los menús se muestran como listas en lugar de tablas Las propiedades externas como border = 0 se eliminan del marcado emitido. Incluso el texto de error en los controles de validación ya no está configurado en rojo. El renderizado de la tabla externa para controles con plantillas ahora se puede controlar con la propiedad newRenderOuterTable. Por razones de compatibilidad, puede hacer que su salida se ve igual como lo hizo en ASP.NET 3.5 con el controlRenderingCompatibilityVersion

> <?xml version="1.0"?> <configuration> <system.web> 
>  <compilation debug="false" targetFramework="4.0" /> 
>  <pages controlRenderingCompatibilityVersion="3.5" /> </system.web> </configuration> 

Más información está disponible en http://msdn.microsoft.com/en-us/library/system.web.ui.control.renderingcompatibility.aspx.

Estoy muy contento de haber resuelto esto. Y me sorprende que no haya podido encontrar más personas publicando sobre este mismo tema. Parece que las opciones en mi caso son usar esta configuración de compatibilidad o establecer el ForeColor de todos mis controles de validación en rojo. (Probablemente haga esto último.)

+0

configurando el controlRenderingCompatiblityVersion a 3.5 resolvió mi problema –

Cuestiones relacionadas