我在按钮单击处理程序中有以下代码.这两种方法都很好. Page_ClientValidate()会导致额外的验证检查并进行处理,而Page_IsValid则使用现有属性.
质询
>如果点击按钮,是否始终保证在该时间之前计算出Page_IsValid?如果不能保证,我们需要显式调用Page_ClientValidate().
>在设置Page_IsValid之前发生了什么事件?对于此类事件,我们不应该依赖Page_IsValid
UPDATE
是否确保仅在验证部分完成后调用按钮单击事件处理程序(在JavaScript中)(即,在作为验证的一部分调用Page_ClientValidate()之后)?如果可以肯定,我可以依赖Page_IsValid吗?
脚本
$('#btnSave').click(function (e) { //Aproach 1 var isValid = Page_ClientValidate(''); if (isValid) { //Do reamining work } //Aproach 2 if (Page_IsValid) { //Do reamining work } });
参考文献:
> Hide redundant error message in ASP.Net ValidationSummary
> Validator causes improper behavior for double click check
> Page_ClientValidate is not defined
> Page_ClientValidate is validating multiple times.
> MSDN – ASP.NET Validation in Depth