How to intercept any postback in a page? - ASP.NET

前端 未结 6 2033
被撕碎了的回忆
被撕碎了的回忆 2020-12-03 08:46

I want to intercept any postbacks in the current page BEFORE it occurs . I want to do some custom manipulation before a postback is served. Any ideas how to do that

6条回答
  •  余生分开走
    2020-12-03 09:03

    There's a couple of things you can do to intercept a postback on the client.

    The __doPostBack function looks like this:

    function __doPostBack(eventTarget, eventArgument) {
        if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value = eventTarget;
            theForm.__EVENTARGUMENT.value = eventArgument;
            theForm.submit();
        }
    }
    

    Notice that it calls "theForm.onsubmit()" before actually doing the postback. This means that if you assign your form an onsubmit javascript function, it will always be called before every postback.

    Alternately, you can actually override the __doPostBack function and replace it with your own. This is an old trick that was used back in ASP.Net 1.0 days.

    var __original= __doPostBack;
    __doPostBack = myFunction();
    

    This replaces the __doPostBack function with your own, and you can call the original from your new one.

提交回复
热议问题