0

我有一组自定义验证器,可以更改每个文本框或下拉列表的边框颜色。一切都很好。我也在使用 HtmlEditorExtender。我用一个 div 元素包围了它,使它的样式与其他文本框相同(一个 2px 纯灰色)。

如果 HtmlEditorExtender 为空,我的困难是触发自定义验证器以更改 div 的边框。

这是我为文本框调用自定义验证器的方式

protected void CustomValidatorNewsText_ServerValidate(object sender, ServerValidateEventArgs args)
    {
        args.IsValid = isValid(tbNewsStandFirst);
    }

protected bool isValid(System.Web.UI.WebControls.TextBox MyBox)
    {
        bool is_valid = MyBox.Text != "";
        MyBox.BorderColor = is_valid ? System.Drawing.Color.LightSlateGray : System.Drawing.Color.Crimson;
        return is_valid;
    }

我想要做的是将 Mybox.BorderColor 替换为 div 的 ID,但我似乎找不到正确的语法(我已将 runat 添加到 div)。

有什么建议么?

干杯,麻木

4

1 回答 1

1

如果您已经将 div 设置为 runat(并且还给了它一个 id),那么类似以下的内容应该可以工作:

this.divId.Style.Add(HtmlTextWriterStyle.BorderColor, System.Drawing.ColorTranslator.ToHtml(is_valid ? System.Drawing.Color.LightSlateGray : System.Drawing.Color.Crimson));
于 2013-01-08T17:03:44.677 回答