加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 是否使用Page_IsValid或Page_ClientValidate()(用于

发布时间:2020-12-16 00:07:02 所属栏目:asp.Net 来源:网络整理
导读:我在按钮单击处理程序中有以下代码.这两种方法都很好. Page_ClientValidate()会导致额外的验证检查并进行处理,而Page_IsValid则使用现有属性. 质询 如果点击按钮,是否始终保证在该时间之前计算出Page_IsValid?如果不能保证,我们需要显式调用Page_ClientVali
我在按钮单击处理程序中有以下代码.这两种方法都很好. 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()可能会导致页面过于突兀(多个警报等).这就是为什么拥有一个负责所有验证的自定义验证功能的好处.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读