Tagged: webforms
Multiple PostBacks in ASP.NET WebForms
Here are some, not all, reasons why there would be multiple PostBacks on a page:
- Handling an event multiple times
- AutoEventWireup = true in Page declaration and manual wire up event in Page Init. Check your codebehind for the old ASP.Net 1 style of registering events in system generate code.
- Having control’s AutoPostBack = true while also doing an explicit PostBack in another control event.
- Custom event JavaScript that doesn’t cancel the click event allowing a double post.
Debugging tips:
- Do an HTTP trace to view the double PostBack requests.
- Debug and add watch for Request.Form[“__EVENTTARGET”] to find control initiating PostBack.
- HTML Validate your page, PostBack could be caused by bad markup
Lastly, this is a little hack that may help turn off double PostBacks temporarily.
<form id=”Form1″ runat=”server” onsubmit=”Q++; if(Q==1){return true;} else { return false;}”>