title: Disable Submit button in case of multiple click.. (C#)
body: <p>My Problem is ,I have a simple web form, which contains two textboxes and a button.there are some asp.net validator controls on page.so i want client side disabling of button when all validation is done.and also after disabling of button, i am executing some server side code.All of this is working fine but, in case when I set postback url of button it gets fail. bellow is some part of coding that will give you some brief idea. Any hint will be highly appreciated.......</p>
  
  <p>I wanted to make this functionality in composite control.
  here is button class</p>
  
  <pre><code>public class MyButton : Button
  {
  
      protected override void OnPreRender(EventArgs e)
      {
          if (this.CausesValidation)
          {
              if (!String.IsNullOrEmpty(this.ValidationGroup))
              {
                  this.Attributes.Add("onclick", @"javascript:
  
               if (typeof(Page_ClientValidate) == 'function')
                   {
                      if (Page_ClientValidate('" + this.ValidationGroup + "')){" + this.ClientID + ".disabled=true;" + Page.GetPostBackEventReference(this) +
  
                "}else{return;}}  else{" + this.ClientID + ".disabled=true;" + Page.GetPostBackEventReference(this) + "}");
              }
  
              else
              {
                  this.Attributes.Add("onclick", @"javascript:
  
                   if (typeof(Page_ClientValidate) == 'function')
                     {
                        if (Page_ClientValidate()){" + this.ClientID + ".disabled=true;" + Page.GetPostBackEventReference(this) +
                    "}else{return;}}  else{" + this.ClientID + ".disabled=true;" + Page.GetPostBackEventReference(this) + "}");
              }
          }
          else
              this.Attributes.Add("onclick", "javascript:" + this.ClientID + ".disabled=true;" + Page.GetPostBackEventReference(this));
  
          base.OnPreRender(e);
      }
  </code></pre>