Я потратил довольно много времени, пытаясь взломать, почему это не всегда срабатывает!Вот ответ: Вам нужна панель обновления вокруг вызываемого запроса.Так, если у вас есть кнопка, например, которая должна вызывать обработчики запросов начала и конца, тогда вы размещаете панель обновления Ajax вокруг кнопки и устанавливаете «UpdateMode» в «Always».Это связано с тем, что эти события JavaScript запускаются только до и после асинхронных обратных передач.Панель обновления Ajax будет обеспечивать асинхронный вызов.
Пример:
<script type="text/javascript" language="javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
//Some code
}
function EndRequestHandler(sender, args) {
//Some code
}
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel runat="server" ID="UpdatePanel6" UpdateMode="Always">
<ContentTemplate>
<asp:Button runat="server" ID="btnGo" Text="Go" OnClick="btnGo_OnClick"/>
</ContentTemplate>
</asp:UpdatePanel>
Обратите внимание, что это правильная методология в asp.net.Я не слишком уверен насчет MVC.Надеюсь, это поможет.