1

我在 asp.net 2.0 上使用 asp.net ajax 1.0 版。(我还不能升级到 3.5)

我有一个 PageMethod 会被 Javascript 调用。在我将 UpdatePanel 添加到页面的另一部分之前,这非常有效。现在,当我在打开调试的情况下运行页面时,页面方法中的断点永远不会被调用。当我在萤火虫中查看调用 PageMethod 的帖子时返回的内容时,我注意到返回了整个 aspx 页面,而不仅仅是调用值。我做了什么?

这是对 PageMethod 的 Javascript 调用:

function EndRequestHandler(sender, args) {
    $('#selectedCHK').change(
        function() {
            var chkedInput = $('#selectedCHK');
            var networkRead = chkedInput[0].checked;
            PageMethods.ChangeSelectedNetworkReadFlag(routeNum, 
                                                      networkRead, 
                                                      function(msg) { alert(msg);  });
        }
    );
}
$(document).ready(function() {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}

在每个请求结束时调用 EndRequestHandler 函数的意义在于,ID 为“#selectedCHK”的项目位于更新面板内,并且每次刷新 UpdatePanel 时都需要设置事件。

4

2 回答 2

1

尝试在更新面板上将更新模式设置为条件。听起来更新面板正在劫持您的事件。

<asp:UpdatePanel ID="upMyPanel" UpdateMode="Conditional" runat="server">
于 2009-03-04T18:38:39.660 回答
1

我想通了,这是一个配置问题。具体来说,我需要添加:

<httpModules>
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>

在 <system.web> 部分内。

我以为我已经正确配置了站点,但我决定逐步阅读文档

于 2009-03-04T19:07:21.853 回答