Request_Begin никогда не вызывал - PullRequest
0 голосов
/ 17 июля 2011

У меня есть следующее на странице ASP.NET 2.0.

<script type="text/javascript">
function pageLoad()
{
    var manager = Sys.WebForms.PageRequestManager.getInstance();
    if (manager !=null)
    {
        debugger;
        manager.add_beginRequest(Request_Begin);
        manager.add_endRequest(Request_End);
    }
}

 function Request_Begin(sender, args)
 {
     debugger;
     ....
 }


 function Request_End(sender, args)
 {
     ....
 }
 </script>

Вызывается pageLoad, но код внутри Request_Begin никогда не появляется. Любая подсказка, почему?

Ответы [ 2 ]

1 голос
/ 17 июля 2011

Обратные вызовы будут срабатывать при запуске запроса AJAX с использованием сценариев Microsoft (например, из UpdatePanel):

<%@ Page Language="C#" %>
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript">
        function pageLoad() {
            var manager = Sys.WebForms.PageRequestManager.getInstance();
            if (manager != null) {
                manager.add_beginRequest(Request_Begin);
                manager.add_endRequest(Request_End);
            }
        }

        function Request_Begin(sender, args)
        {
            debugger;
        }

        function Request_End(sender, args) {
            debugger;
        }
    </script>
</head>
<body>
    <form id="Form1" runat="server">
        <asp:ScriptManager ID="scm" runat="server" />
        <asp:UpdatePanel ID="up" runat="server">
            <ContentTemplate>
                <%= DateTime.Now.ToLongTimeString() %>
                <asp:LinkButton ID="link" runat="server" Text="update" />
            </ContentTemplate>
        </asp:UpdatePanel>
    </form>
</body>
</html>

Если вы используете jQuery для AJAX, забудьте о тех, кого когда-либо увольняли.

0 голосов
/ 17 июля 2011

Я думаю, что прикреплять его в Page_Load слишком поздно.Попробуйте прикрепить его в PreInit.

...