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

我有一个可以通过Javascript调用的PageMethod。这非常有效,直到我将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时都需要设置事件。

有帮助吗?

解决方案 2

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

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

在<!> lt; system.web <!> gt;内;部分。

我认为我已经正确配置了网站,但我决定通过文档一步一步。

其他提示

尝试在更新面板上将updatemode设置为条件。听起来更新面板正在劫持你的活动。

<asp:UpdatePanel ID="upMyPanel" UpdateMode="Conditional" runat="server">
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top