提交表格问题。发布的数据是一个集合

时间:2011-09-26 10:43:32

标签: c# .net asp.net-mvc-3

我的表单键是:

Request.Form.AllKeys
{string[9]}
    [0]: "__RequestVerificationToken"
    [1]: "stud.LastName[0]"
    [2]: "stud.FirstName[0]"
    [3]: "stud.Number[0]"
    [4]: "stud.LastName[1]"
    [5]: "stud.FirstName[1]"
    [6]: "stud.Number[1]"

他们都有价值观。 我的行为如下:

        [ValidateAntiForgeryToken]
        [HttpPost]
        public ActionResult Add(Student[] stud)

学生班有属性:FirstName,LastName,Number。

问题是螺柱是空的吗? 不是一种方法来填充提交的数据,或者必须从Request.Form

获取数据

2 个答案:

答案 0 :(得分:1)

尝试使用

    [ValidateAntiForgeryToken]
    [HttpPost]
    public ActionResult Add(List<Student> students)

答案 1 :(得分:0)

您应该拥有此类值(请注意已更改的[]位置)

Request.Form.AllKeys
{string[9]}
    [0]: "__RequestVerificationToken"
    [1]: "stud[0].LastName"
    [2]: "stud[0].FirstName"
    [3]: "stud[0].Number"
    [4]: "stud[1].LastName"
    [5]: "stud[1].FirstName"
    [6]: "stud[1].Number"

您的视图中出现了错误 - 生成的输入(以及提交时的表单值)在其名称的正确位置没有“[]”。查看this article by Phil Haack关于模型绑定到列表的信息。