Whether to use Page

I have following code inside a button click handler. Both approaches work fine. The Page_ClientValidate() causes an extra validation check and do processing whereas Page_IsValid makes use of existing property.

QUESTIONS

  • In case of button click, is it always guaranteed that Page_IsValid would have been calculated by that time? If is not guaranteed, we need to call Page_ClientValidate() explicitly.
  • What are the events that happen before Page_IsValid is set? For such events we should not rely on Page_IsValid
  • UPDATE

    Is it assured that the button click event handler (in JavaScript) will be called only after the validation part is completed (ie, after Page_ClientValidate() was invoked as part of validation) ? If this is assured, can I rely on Page_IsValid?

    SCRIPT

      $('#btnSave').click(function (e) {
    
      //Aproach 1
      var isValid = Page_ClientValidate('');
      if (isValid) 
      {
           //Do reamining work
      }
    
      //Aproach 2
      if (Page_IsValid)
      {
          //Do reamining work
      }
    
      });
    

    REFERENCES :

  • 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

  • In case of button click, Page_ClientValidate() is called when (and only when) the button's CausesValidation is set to true .

  • Page_ClientValidate() is part of process of doing postback, so it is called within button's click.
    I rely on Page_IsValid only in a scope of a function after calling Page_ClientValidate() . Otherwise I always call Page_ClientValidate() .

  • Comment: calling Page_ClientValidate() repeatedly may cause the page to be too obtrusive (multiple alerts etc.). That's why it's good to have a custom validate function that takes care of all validation.

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

    上一篇: Popen.poll()和Popen.wait()之间的区别

    下一篇: 是否使用Page