جلوگیری از کلیک تکراری در ASP.NET

اکثر مواقع نیاز داریم که از کلیک تکراری بر روی دکمه‌ها جلوگیری کنیم. روشهای متفاوتی برای این کار وجود داره، چه از سمت کاربر و چه از سمت سرور.

2 روشی که برای من کارآمدتر بود رو اینجا قرار میدم.

I.

$(function () {
    $("input[type='submit']").click(function () {
        if (Page_ClientValidate()) {
            $(this).val("صبر کنید...");
            $(this).prop("disabled", true);
            __doPostBack(this.name, '');
        }
    });
});

II.

protected void Page_Load(object sender, EventArgs e)
       {
           try
           {
               DisableSubmitButton(btnSend);
               DisableSubmitButton(btnRefresh);
           }
           catch (Exception err)
           { }
       }



       public static void DisableSubmitButton(Button button)
       {
           button.Attributes.Add("onclick", "this.disabled=true;this.value='صبر کنید...';" + button.Page.ClientScript.GetPostBackEventReference(button, string.Empty));
       }