我想知道Page.IsValid
如何获得它的价值。
如果页面有验证程序并且正在进行提交, asp.net引擎如何知道页面是否有效?
提前致谢。
答案 0 :(得分:2)
验证实际上是在服务器级别完成的。点击提交后,所有表单值都会回发。并且调用每个控件的服务器端验证器以检查其用户输入值的有效性。
答案 1 :(得分:0)
如果您需要实际代码:
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public bool IsValid
{
get
{
if (!this._validated)
{
throw new HttpException(SR.GetString("IsValid_Cant_Be_Called"));
}
if (this._validators != null)
{
ValidatorCollection validators = this.Validators;
int count = validators.Count;
for (int i = 0; i < count; i++)
{
if (!validators[i].IsValid)
{
return false;
}
}
}
return true;
}
}
它基本上遍历页面上的所有验证器,并检查它们是否都返回IsValid = true
。如果其中任何一个无效,则返回false。