c# - PAGEMETHODS 不适用于 JS 函数

标签 c# javascript ajax code-behind pagemethods

我正在尝试使用 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/

相关文章:

c# - 在 WPF C# 应用程序中将 XPS 转换为 PDF

Javascript:每个客户端两个连接?

javascript - Coldfusion 使用 ajax 部分 2 使用下拉选择填充表单

c# - 有没有办法将观察者订阅为异步

c# - 使用 C# 读取 Excel 文件导致抛出 OleDbException

javascript - 在循环中使用innerHTML无法正确显示json结果集

javascript - Vue.js 组件在事件触发后丢失状态

javascript - 如何用 jquery 返回 php json 数组对象?

javascript - 将全局函数包装在 (function($){ }(jQuery) 中

c# - 带 OrderBy 字数的 Linq 查询