如何使用'FormCollection'在ASP.净MVC3

本文关键字:MVC3 ASP FormCollection 何使用 | 更新日期: 2023-09-27 18:17:58

我有以下数据发送ajax调用到控制器动作:

var data = {
    "PersonalInfo": [
        {      
            "FirstName": "Leonel",
            "LastName": "Messi"     
        },
        {
            "FirstName": "Cristiano",
            "LastName": "Ronaldo" 
        }
    ]
};

Ajax调用方法:

$.ajax({
    url: "/Home/Create",
    type: "POST",
    dataType: "json",
    data: (JSON.parse(data)).PersonalInfo,
    success: function (response) { }                       
});

Controller Action:

public ActionResult Create(FormCollection formCollection)
{
    base.Create(formCollection);
}

在服务器端,我需要FormCollection的数组/列表,例如:

formCollection[0] = {      
    "FirstName": "Leonel",
    "LastName": "Messi"     
}
formCollection[1] = {      
    "FirstName": "Cristiano",
    "LastName": "Ronaldo"      
}

或者类似下面的代码,这样我就可以多次调用base.Create(formCollection)方法来获取多个个人信息。

public ActionResult Create(List<FormCollection> formCollection)
{
}

但是这是不可能的,对于这个上下文是否有其他选择?

如何使用'FormCollection'在ASP.净MVC3

必须使用formcollection吗?

Visual studio有一个特殊的菜单选项选择,可以使用JSON对象并输出一个模型绑定器映射到的类。复制您期望的JSON结果(数据对象)。

转到类文件,然后转到visual studio的菜单栏,Edit => Paste Special => Paste JSON as classes

使用生成的类作为api控制器动作调用的参数,它们应该映射