2013-01-08 39 views
0

我有一组自定义验证程序,用于更改每个文本框或下拉列表的边框颜色。所有作品都很棒。我也在使用HtmlEditorExtender。我用div元素包围它,使其与其他文本框(2px纯灰色)相同。C#自定义验证 - 更改div边框颜色

我的难处在于,如果HtmlEditorExtender为空,我将激发自定义验证器来更改div的边框。

这里是我如何调用自定义验证一个TextBox

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,但我似乎无法找到正确的语法(我已经添加runat到div)。

有什么建议吗?

干杯, 麻木

回答

1

如果你已经设置的股利为RUNAT(也给了它一个id),类似下面应该工作:

this.divId.Style.Add(HtmlTextWriterStyle.BorderColor, System.Drawing.ColorTranslator.ToHtml(is_valid ? System.Drawing.Color.LightSlateGray : System.Drawing.Color.Crimson)); 
+0

好极了!这个技巧完全谢谢psantiag。 – ComfortablyNumb