在OnServerValidate方法中获取源代码管理

时间:2011-11-11 17:40:21

标签: c# asp.net validation customvalidator

我有一个CustomValidator控件,在OnServerValidate事件中我想设置正在验证的控件的属性。

您会认为经验证的控件对象在OnServerValidate事件中可用,但事实并非如此。然后我尝试执行FindControl但似乎无法访问ControlToValidate值。

有人请帮助我验证TextBox控件是否可以从OnServerValidate事件中修改其属性?

谢谢, d

3 个答案:

答案 0 :(得分:6)

我尝试了上面的答案,但由于我的TextBox位于ContentPlaceHolder的ListView中,所有这一切都失控了。我最终使用了这个应该适用于所有情况:

string textBoxName = ((CustomValidator)source).ControlToValidate;
var textBox = ((CustomValidator)source).Parent.FindControl(textBoxName) as TextBox;

答案 1 :(得分:4)

你能做这样的事吗?

protected void CustomValidator1_ServerValidate (object source, ServerValidateEventArgs args)
{
   var validationControl = source as CustomValidator;

   var textBox = FindControl(validationControl.ControlToValidate) as TextBox;

   if (textBox != null)
   {
      // Do something
   }
}

答案 2 :(得分:1)

获取价值:

string number = args.Value;