Skip to main content

Prevent multiple postbacks in SharePoint 2013


The scenario:  Disabled the button after user’s click event. Prevent user from clicking it several times.

The problem: If the button is disabled, the server side event handler is not fired.

The solution: Set the property UseSubmitBehavior to false.

Explanations

Here is the working code of how to have disabled button after it is clicked:


<asp:Button ID="Button1" runat="server" Text="Do Postback" UseSubmitBehavior="false"  OnClick="Button1_Click" OnClientClick="Validate(this)"  />


       function Validate(thisObj)
       {
           thisObj.disabled = true;
           return true;
       }


If you don't set the property UseSubmitBehavior your code in the handler Button1_Click won’t fire. I spend several hours in debugging it. Hope this save time to somebody.




Comments

Popular posts from this blog

ClientPeoplePicker in SharePoint 2013

Start using SharePoint 2013 I noticed that the way for selecting people or groups is changed. The new way is simple – just ‘Enter name or email address’ without any icons for ‘Check Names’ or ‘Browse’. I guess that the PeoplePicker is changed but NO. PeoplePicker sitll has the same functionality as before. There is a new control called ClientPeoplePicker . How to use it: 1. Add this references <% @ Register TagPrefix ="wssawc" Namespace ="Microsoft.SharePoint.WebControls" Assembly ="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 2. Add the following control declaration       < wssawc : ClientPeoplePicker          Required ="true"          ValidationEnabled ="true"          ID ="peoplePicker"          runat ="server"   ...

SharePoint and List Joins with CAML

This came to me as an issue when I started migrating one project from SharePoint 2010 to SharePoint 2013. The code uses LINQ to SharePoint and it was not written in a clever way. We decide to use CAML queries and optimize the code. The scenario: Create gridview that gathers information from three(or more) lists. The problem: How to create the CAML query joins and projected fields correctly. Explanation : Option 1: Get generated CAML query from LINQ to SharePoint code This doesn’t work. I wrote the LINQ to SharePoint code connected the three lists. When I executed the code the following error was thrown – “ The query uses unsupported elements, such as references to more than one list, or the projection of a complete entity by using EntityRef/EntitySet. ” Here is some explanation about it and why this can’t be used. Option 2: Write the query yourself I found this article in MSDN . Read it ! The second part in it is exactly my scenario. But it takes me a lot of time to un...

SharePoint User Group Bulgaria

In the past year I invested my free time in activities related to the SharePoint User Group Bulgaria. This is the reason why I stopped writing in this blog. Please start following this new place  www.sugbg.com . I promise you that you will find there truly valuable content.