SharpCoder
SharpCoder

Reputation: 19163

__doPostBack() is causing post back but not calling button click event in aspx page

I am using a aspx page which is having a button.

 <asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" Style="display: none" />

There are two ways to cause post back as shown in the below code.

 $(document).ready(function () {
               var id = document.getElementById('<%= savebtn.ClientID %>');
       //Cause post back & calls page load but not savebtn_Click event
            __doPostBack('<%= savebtn.ClientID  %>', 'OnClick');

    });

    $(document).ready(function () {
                     var id = document.getElementById('<%= savebtn.ClientID %>');
           //Cuase postback & calls both PageLoad and savebtn_Click events.
           //If I use method, There is no way to know which control caused postback
            id.click();

    });

When I use __doPostBack, It calls page load event but not btn click event.

Is there any way using __doPostBack to trigger Page Load as well as savebtn_Click event.

If I use id.click(); as shown above, I am able to call savebtn_Click but it does not tells me which control caused the post back.

Upvotes: 9

Views: 39299

Answers (2)

I solved this question using this code:

  document.all('Button1').click();

Upvotes: 2

skub
skub

Reputation: 2306

have you tried using the UniqueID instead of the ClientID?

__doPostBack('<%= savebtn.UniqueID %>', "");

Also have a look at this quick tutorial on dopostback:

Upvotes: 23

Related Questions