我正在尝试使用 pagemethods 从 JS 函数调用方法背后的代码,但它没有调用,也没有抛出任何错误......
function example(){
pagemethods.method();
}
**aspx.cs
[webmethod]
public static void method(){
//some logic
}
所以为了找到这个问题,我做了一些负面测试
注意:我在表单声明中有“method=post”..它会影响 pagemethods 吗..
很困惑为什么会发生这个问题!!!
我们可以以任何其他方式调用代码隐藏方法而不是 pagemethods..请建议!!!
最佳答案
在 msnd 中,您可以看到这样的示例,因此您需要...
在标记中:
<asp:ScriptManager ID="sm" runat="server" EnablePageMethods="true">
<Scripts >
<asp:ScriptReference Path="pm.js" />
</Scripts>
</asp:ScriptManager>
在后面的代码中:您的静态方法,具有
[WebMethod]
属性在
pm.js
中:像这样function example(){
PageMethods.method();
}
更新
另一个变体是对您的方法使用 ajax 请求,例如使用 jquery 是这样的:
function CallMethod(){
$.ajax({
type: "POST",
dataType: 'json',
contentType: "application/json; charset=utf-8",
url: "YourPage.aspx/yourmathod",
data:JSON.stringify({}), // parameters for method
success: function (dt) { alert(dt);}, //all Ok
error: function () { alert('error'); } // some error
});
}
关于c# - PAGEMETHODS 不适用于 JS 函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21219302/