Asp.net 通过基页访问验证程序集合

Asp.net 通过基页访问验证程序集合,asp.net,validation,webforms,Asp.net,Validation,Webforms,为什么var validator2=Page.Validators[1].ControlToValidate不起作用?它继承了该属性,但我无法访问它 看这张图- 另外,在页面周期中,这是访问验证错误的正确位置吗?ControlToValidate属性返回一个字符串,与正在验证的控件的ID有关。这就是你要找的吗 要获得实际的验证器,我相信您需要以下内容: protected override void OnLoadComplete(EventArgs e) { foreach (var v

为什么var validator2=Page.Validators[1].ControlToValidate不起作用?它继承了该属性,但我无法访问它

看这张图-


另外,在页面周期中,这是访问验证错误的正确位置吗?

ControlToValidate属性返回一个字符串,与正在验证的控件的ID有关。这就是你要找的吗

要获得实际的验证器,我相信您需要以下内容:

protected override void OnLoadComplete(EventArgs e)
{
    foreach (var validator in Page.Validators)
    {
        //do something
    }

    base.OnLoadComplete(e);
}
var validator = (BaseValidator)Page.Validators[0];
string controlToValidate = validator.ControlToValidate;