21

我似乎无法更改必填字段验证器的默认颜色。在源代码中是:

<span class="required">*</span>
<asp:RequiredFieldValidator ID="valReq_txtTracks" runat="server"
    ControlToValidate="txtTracks"
    Display="Dynamic" />

这是我的 .skin 文件中的内容:

<asp:RequiredFieldValidator runat="server" 
    CssClass="error-text"
    ErrorMessage="required" />

在渲染的源代码中,我看到:

<span class="required">*</span>
<span id="ctl00_ctl00_cphContent_cphContent_valReq_txtTracks" class="error-text" style="color:Red;display:none;">required</span>

注意“样式=颜色:红色;”。那需要去。我不能用 css-class 覆盖它,因为它是内联 CSS。我该怎么办?

4

5 回答 5

32

您可以设置一个RequiredFieldValidator.ForeColor属性来控制颜色。注意,如果你想在 CSS 中设置颜色,那么你需要设置 ForeColor="" 在控件上清除它。

于 2008-10-20T20:35:22.213 回答
5

我知道这是一个旧线程,但我又遇到了这个问题。设置样式表不会覆盖验证器的文本颜色有点奇怪。就我而言,我有一大堆不同的验证器和扩展验证器,我想为其覆盖文本颜色,因此我创建了处理 BaseValidator 控件呈现的自定义控件适配器,而不是主题和皮肤文件。在渲染方法里面,我只是设置了ForeColor = Color.Empty. 希望这可以帮助遇到这种情况并希望为所有类型的验证器(必填字段、正则表达式、比较......)覆盖文本颜色的其他人。

于 2011-07-27T01:24:32.043 回答
2

您是否尝试在皮肤文件中添加带有空字符串的样式属性:

<asp:RequiredFieldValidator runat="server" 
    CssClass="error-text"
    style=""
    ErrorMessage="required" />
于 2008-10-20T20:31:16.433 回答
1

我在某处读到使用 !important 标记在您的 css 类中覆盖内联 css ...

于 2008-10-20T20:31:00.117 回答
-2

在 Firefox 和 IE 中使用!important似乎可以正常工作,但由于某种原因在 Google Chrome 中无法正常使用……虽然没什么大不了的,Chrome 的份额仍然很低。

.form_error
{
    font: bold 15px arial black,arial,verdana,helvetica !important; 
    color: #ff0000 !important;
}
于 2009-02-01T19:01:23.817 回答