Code:
...
<!-- intercept postback event -->
<script language="javascript" type="text/javascript">
// get reference to original postback method before we override it
var __doPostBackOriginal = __doPostBack;
// override
__doPostBack = function (eventTarget, eventArgument) {
// show progress modal
ShowProgress();
// postback
__doPostBackOriginal.call(this, eventTarget, eventArgument);
}
</script>
</body>
</html>
First you need to get a reference to the original __doPostBack event and save it in the __doPostBackOriginal variable. This is necessary so you can trigger it later.
Once you have the reference to the original postback event you can override __doPostBack. This is where you'll want to put your custom code. In this example, I call a ShowProgress() method. This is where I trigger a custom bootstrap modal so for any postback you see a progress spinner.
After you've added your custom override you call __doPostBackOriginal.call(this, eventTarget, eventArgument); to trigger the original postback event.
It's worth noting that the __doPostBack javascript event is only rendered when it is needed. It will be rendered by ASP.Net whenever you add a web server control to your form, with the exception of Button and ImageButton controls. For buttons you will need to add your own OnClientClick to handle client-side events.
Matt Pavey is a Microsoft Certified software developer who specializes in ASP.Net, VB.Net, C#, AJAX, LINQ, XML, XSL, Web Services, SQL, jQuery, and more. Follow on Twitter @matthewpavey

0 comments: