将UpdatePanel添加到页面后,不再调用PageMethod
-
03-07-2019 - |
题
我在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">
不隶属于 StackOverflow