.net – 未定义PageMethods
发布时间:2020-12-16 02:55:32 所属栏目:百科 来源:网络整理
导读:我正在设置PageMethods以使用 javascript访问服务器端代码.我使用firebug进行调试时收到错误“PageMethods未定义”.服务器端代码也没有被触发. 我已将脚本管理器“EnablePageMethods”设置为true.我的方法是公开的 static,它也设置了WebMethod属性.我仍然收
我正在设置PageMethods以使用
javascript访问服务器端代码.我使用firebug进行调试时收到错误“PageMethods未定义”.服务器端代码也没有被触发.
我已将脚本管理器“EnablePageMethods”设置为true.我的方法是公开的& static,它也设置了WebMethod属性.我仍然收到上述错误.可能是因为脚本管理器位于顶级母版页中,该母版页有两个子母版页,然后我的页面被调用: 即 主母版页(带脚本管理器) – >主要母版页 – >辅助母版页 – >我的页面 – >我的用户控件(拥有WebMethod) 层次结构是否可能导致此问题? 这是web方法 [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调用它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |