asp.net – 是否使用Page_IsValid或Page_ClientValidate()(用于客户端事件)

前端之家收集整理的这篇文章主要介绍了asp.net – 是否使用Page_IsValid或Page_ClientValidate()(用于客户端事件)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在按钮单击处理程序中有以下代码.这两种方法都很好. 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

解决方法

>如果单击按钮,则在按钮的CausesValidation设置为true时(且仅当)时调用Page_ClientValidate().
> Page_ClientValidate()是回发过程的一部分,因此在按钮的单击中调用它.
调用Page_ClientValidate()之后,我仅在函数范围内依赖Page_IsValid.否则我总是调用Page_ClientValidate().

注释:重复调用Page_ClientValidate()可能会导致页面过于突兀(多个警报等).这就是为什么拥有一个负责所有验证的自定义验证功能的好处.

原文链接:https://www.f2er.com/aspnet/251479.html

猜你在找的asp.Net相关文章