gpt4 book ai didi

c# - PAGEMETHODS 不适用于 JS 函数

转载 作者:行者123 更新时间:2023-11-29 14:53:53 25 4
gpt4 key购买 nike

我正在尝试使用 pagemethods 从 JS 函数调用代码隐藏方法,但它没有调用,也没有抛出任何错误...

function example(){

pagemethods.method();
}

**aspx.cs
[webmethod]
public static void method(){

//some logic
}

所以为了找到问题我做了一些负面测试

  1. 我评论了 WEBMETHOD,然后它显示错误“对象不支持此属性或方法”。我可以假设这种情况表明 pagemethods 正在工作!!!

  2. 然后我将 JS 函数中的调用方法名称替换为 pagemethods.newmethod() 但我没有将方法名称更改为 newmethod..我期待一些错误但它没有给我一个错误..

注意:我在表单声明中有“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/

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