我有一个问题,我已将RequiredFieldValidator的颜色指定为红色,但当我在网上发布网站时,RequiredFieldValidator的颜色更改为黑色。它在localhost中工作正常。可能是什么问题呢 ? 提前谢谢..
答案 0 :(得分:14)
罗汉,
这可能是你的问题。我遇到了同样的问题。
默认情况下,框架4.0会使所有验证程序错误消息变黑。如果您定位框架4.0,则需要将所有验证器的ForeColor显式设置为红色。
你的源输出在3.5:
<span id="ctl01_YourControl" style="color:Red;visibility:hidden;">*</span>
4.0中的源输出:
<span id="ctl01_YourControl" style="visibility:hidden;">*</span>
答案 1 :(得分:5)
ASP.NET 4.0对输出更清晰的代码进行了更改,其中包括:
xhtmlConformance设置为Strict。 菜单呈现为列表而不是表 从发出的标记中删除border = 0等无关属性。甚至验证控件上的错误文本也不再设置为红色。 现在可以使用newRenderOuterTable属性控制用于模板化控件的外部表的呈现。 为了兼容性,您可以使用controlRenderingCompatibilityVersion
使输出看起来与ASP.NET 3.5中的输出相同> <?xml version="1.0"?> <configuration> <system.web>
> <compilation debug="false" targetFramework="4.0" />
> <pages controlRenderingCompatibilityVersion="3.5" /> </system.web> </configuration>
有关详情,请访问http://msdn.microsoft.com/en-us/library/system.web.ui.control.renderingcompatibility.aspx。
我很高兴解决了这个问题。我很惊讶我找不到更多关于同一问题的人发帖。看起来我的选项中的选项是使用此兼容性设置或将我的所有验证控件的ForeColor设置为Red。 (我可能会这样做。)
答案 2 :(得分:3)
默认情况下,验证程序为红色 - 您不需要更改它。检查你的CSS以确保它没有被任何东西越过。还要检查requiredfieldvalidator设置为的类,并确保它不包含颜色属性。