是否使用Page

我有一个按钮点击处理程序内的以下代码。 两种方法都很好。 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
      }
    
      });
    

    参考文献

  • 隐藏ASP.Net ValidationSummary中的冗余错误消息
  • 验证器导致双击检查不当行为
  • Page_ClientValidate未定义
  • Page_ClientValidate正在多次验证。
  • MSDN - ASP.NET深度验证

  • 在按钮点击的情况下,当(且仅当)按钮的CausesValidation被设置为true时,才调用Page_ClientValidate()

  • Page_ClientValidate()是回发过程的一部分,所以它在按钮的点击中被调用。
    调用Page_ClientValidate() 之后,我仅在函数的作用域中依赖Page_IsValid 。 否则,我总是调用Page_ClientValidate()

  • 评论:反复调用Page_ClientValidate()可能会导致页面过于突兀(多个警报等)。 这就是为什么拥有一个自定义验证函数来处理所有验证的好处。

    链接地址: http://www.djcxy.com/p/67217.html

    上一篇: Whether to use Page

    下一篇: Similarity of trends in time series analysis