加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 通过ajax将jquery中的数组传递给c#webmethod

发布时间:2020-12-16 07:31:59 所属栏目:asp.Net 来源:网络整理
导读:我想将一个数组传递给一个c#webmethod,但没有一个很好的例子可以遵循.谢谢你的帮助. 这是我到目前为止: 我的阵列: $(".jobRole").each(function (index) { var jobRoleIndex = index; var jobRoleID = $(this).attr('id'); var jobRoleName = $(this).text
我想将一个数组传递给一个c#webmethod,但没有一个很好的例子可以遵循.谢谢你的帮助.

这是我到目前为止:

我的阵列:

$(".jobRole").each(function (index) {

    var jobRoleIndex = index;
    var jobRoleID = $(this).attr('id');
    var jobRoleName = $(this).text();

    var roleInfo = {
        "roleIndex": jobRoleIndex,"roleID": jobRoleID,"roleName": jobRoleName
    };

    queryStr = { "roleInfo": roleInfo };
    jobRoleArray.push(queryStr);

});

我的ajax代码

$.ajax({
            type: "POST",url: "WebPage.aspx/save_Role",data: jobRoleArray,contentType: "application/json; charset=utf-8",dataType: "json",async: false,success: function (data) {
                alert("successfully posted data");
            },error: function (data) {
                alert("failed posted data");
                alert(postData);
            }

        });

在网络方法上不确定,但这是我在想的:

[WebMethod]
    public static bool save_Role(String jobRoleArray[])

解决方法

你将传递一个数组:

[
    "roleInfo": { 
              "roleIndex": jobRoleIndex,"roleName": jobRoleName 
     },"roleInfo": { 
              "roleIndex": jobRoleIndex,...
]

在我看来,如果你有一个匹配该结构的类会更容易,如下所示:

public class roleInfo
{
     public int roleIndex{get;set;}    
     public int roleID{get;set;}
     public string roleName{get;set;}
}

因此,当您从jQuery调用Web方法时,您可以这样做:

$.ajax({
            type: "POST",data: "{'jobRoleArray':"+JSON.stringify(jobRoleArray)+"}",error: function (data) {
                alert("failed posted data");
                alert(postData);
            }

        });

在您的网络方法中,您可以接收List< roleInfo>通过这种方式:

[WebMethod]
public static bool save_Role(List<roleInfo> jobRoleArray)
{

}

如果你试试这个,请告诉我.以上代码没有以任何方式进行测试,因此可能存在错误,但我认为这是一种很好且非常干净的方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读