gpt4 book ai didi

.net - PageMethods 未定义

转载 作者:行者123 更新时间:2023-12-03 18:08:33 28 4
gpt4 key购买 nike

我正在设置 PageMethods 以使用 javascript 访问服务器端代码。当我使用 firebug 进行调试时,我收到错误“PageMethods 未定义”。服务器端代码也没有被触发。

我已将我的脚本管理器“EnablePageMethods”设置为 true。我的方法是公共(public)和静态的,它也设置了 WebMethod 属性。我仍然收到上述错误。可能是因为脚本管理器位于具有两个子母版页的顶级母版页中,然后我的页面被调用:

IE。

主母版页(带有脚本管理器)-> 主母版页-> 辅助母版页-> 我的页面-> 我的用户控件(具有 WebMethod)

层次结构是否可能导致此问题?

这是网络方法

 [System.Web.Services.WebMethod]
public static void AddNote(string t)
{
int propid = 1;
if (propid > 0)
{
//Call my method
}
}

这是我的 JavaScript 代码:
  function editNodes(t) {
alert('test1');
alert(t);
PageMethods.AddNote(t,OnSuccess,OnFailure);
alert('method called');
}
function OnSuccess() {
alert('Success');
if (!navigator.appName == 'Microsoft Internet Explorer') {
window.location.href = window.location.href;
}

}
function OnFailure(error) {
alert('Error:' + error);
}

这就是我所说的:
   <a href="#" class="btngeneral" onclick="javascript:editNodes(2);">Save</a>

最佳答案

页面方法在母版页或用户控件中都不起作用。

如果您将方法上移一级到您的页面,它应该可以工作。

从来没有真正能够在这个问题上得到明确的答案。

我怀疑这与 aspx 页面继承自 Page 类和 ascx 控件继承自 UserControl 类的事实有关。至于为什么会这样,我不太确定。

我个人会使用通用处理程序 (.ashx) 页面并通过 javascript 调用它。

关于.net - PageMethods 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5818265/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com