C# 在MVC中将列表从客户端传递到服务器端#

C# 在MVC中将列表从客户端传递到服务器端#,c#,asp.net-mvc,list,C#,Asp.net Mvc,List,下面是我正在使用的代码 UpdateMultipulGroupContactId = "1,2,3,4"; 客户端功能 function UpdateMultipulGroup() { jQuery.ajax({ url: "/Json/Contact_Update_Groups_NickName", type: "POST", data: { rid: UpdateMultipulGroupContactId,

下面是我正在使用的代码

UpdateMultipulGroupContactId = "1,2,3,4";
客户端功能

function UpdateMultipulGroup() {
    jQuery.ajax({
        url: "/Json/Contact_Update_Groups_NickName",
        type: "POST",
        data: {
            rid: UpdateMultipulGroupContactId,
            gids: strArray,
            nickname: 'abc'
        },
        dataType: "html",
        success: function (data) {
            var data = JSON.parse(data);
            alert(data.message);
            $("#Notes" + EditContactIdNotes).html($("#txtNotes").val());
            CloseLightBox();
        },
        error: function (error) {
            alert(error);
        }
    });

}
服务器端功能

public ActionResult Contact_Update_Groups_NickName(long rid, List<long> gids, string nickname)
public ActionResult联系人\u更新\u组\u昵称(长rid、列表GID、字符串昵称)
我试着使用数组,但总是得到空值


如何从该函数中以列表形式传递
UpdateMultipulGroupContactId

您可以序列化数据,也可以发送一个值,如
$(“#myField”).val()

绑定到IList 这在实质上是有帮助的,因为它基本上谈论了这个问题。如何在控制器操作中将客户端数据绑定到
IList

博客文章解释说,值实际上必须像中那样索引

gids[0] = 1;
gids[1] = 2;
发送复杂的JSON对象 但我还编写了一个脚本,它完成了从复杂JSON对象到MVC模型绑定器可以轻松使用的对象的所有转换。它还能够使用各种数据类型(日期等),并正确转换这些数据类型,以便Asp.net MVC能够开箱即用,而不需要在服务器端进行任何更改

所谓复杂对象,我指的是具有一个以上层次深度的JSON对象。因为JSON对象越复杂,您必须在代码中执行的操作就越多。插件将其简化为单个函数调用,并将其提供给JSON对象

使用插件会将您的代码更改为:

var data = {
    rid: 1234567890, // this is a "long" number
    gids: [1,2,3,4], // or "1,2,3,4".split(",")
    nickname: 'abc'
};

function UpdateMultipulGroup() {
    jQuery.ajax({
        url: "/Json/Contact_Update_Groups_NickName",
        type: "POST",
        data: $.toDictionary(data),
        success: ...
        ...
     });
}
var data = {
    rid: 1234567890, // this is a "long" number
    gids: [1,2,3,4], // or "1,2,3,4".split(",")
    nickname: 'abc'
};

function UpdateMultipulGroup() {
    jQuery.ajax({
        url: "/Json/Contact_Update_Groups_NickName",
        type: "POST",
        data: $.toDictionary(data),
        success: ...
        ...
     });
}