如何向aspx webmethod传递参数

本文关键字:参数 webmethod aspx | 更新日期: 2023-09-27 18:14:30

我试图将jstree3.0.2的参数传递到aspx页面上的web方法,但它没有击中web方法。然而,当没有参数时,它可以工作。有谁能指出我的错误吗?

带参数(不工作):

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static IEnumerable<JsTreeNode> GetAll(string id)
{
    // method does not get called
}
$("#jsTreeTest").jstree({
    "core": {
        "data": {
            "url": "MyPage.aspx/GetAll",
            "type": 'POST',
            "dataType": 'JSON',
            "contentType": 'application/json;',
            'data': function (node) {
                return { 'id': "01" };
            }
        }
    }
});

不带参数(Working):

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static IEnumerable<JsTreeNode> GetAll()
{
    // successfully calls method
}
$("#jsTreeTest").jstree({
    "core": {
        "data": {
            "url": "MyPage.aspx/GetAll",
            "type": 'POST',
            "dataType": 'JSON',
            "contentType": 'application/json;',
            "data": function (node) { return {}; }
        }
    }
});

谢谢。

如何向aspx webmethod传递参数

找到问题。应该是:

return '{ "id" : "01" }';

工作代码:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static IEnumerable<JsTreeNode> GetAll(string id)
{
    // success!
}
$("#jsTreeTest").jstree({
    "core": {
        "data": {
            "url": "MyPage.aspx/GetAll",
            "type": 'POST',
            "dataType": 'JSON',
            "contentType": 'application/json;',
            "data": function (node) {
                return '{ "id" : "01" }';
            }
        }
    }
});