我有一组自定义验证器可以更改每个文本框或下拉列表的边框颜色。一切都很棒。我也在使用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;
}
我想要做的是用div的ID替换Mybox.BorderColor,但我似乎无法找到正确的语法(我已经将div添加到div中)。
有什么建议吗?
干杯, 麻木
答案 0 :(得分:1)
如果你已经将div设置为runat(并且还给它一个id),那么类似下面的内容应该有效:
this.divId.Style.Add(HtmlTextWriterStyle.BorderColor, System.Drawing.ColorTranslator.ToHtml(is_valid ? System.Drawing.Color.LightSlateGray : System.Drawing.Color.Crimson));