C# 在视图asp.net mvc 3中批量创建模型

C# 在视图asp.net mvc 3中批量创建模型,c#,asp.net-mvc,asp.net-mvc-3,razor,C#,Asp.net Mvc,Asp.net Mvc 3,Razor,假设我有一个简单的模型: public class studentNames { string name{get; set;} } 现在,如果我通过创建模式在视图中构建它,那么只会创建一个模型。我想在一个视图中创建多个对象 比如: <form action="someAction"> Name of student1: <student1 name input box> Name of student2: <student2 name input box>

假设我有一个简单的模型:

public class studentNames
{
string name{get; set;}
}
现在,如果我通过创建模式在视图中构建它,那么只会创建一个模型。我想在一个视图中创建多个对象

比如:

<form action="someAction">
Name of student1: <student1 name input box>
Name of student2: <student2 name input box>

<save button>

</form>

学生姓名1:
学生姓名2:
当点击这个按钮时,控制器中会返回一个列表,我可以将它们保存在数据库中

我怎样才能做到这一点?
提前感谢。

您可以从阅读model binder期望的约定开始。然后适当地命名输入字段:

@using (Html.BeginForm("SomeAction", "SomeController"))
{
    @for (var i = 0; i < 5; i++)
    {
        <div>
            Name of student: @Html.TextBox("name[" + i + "]", null)
        </div>
    }
    <button type="submit">Save</button>
}
使用(Html.BeginForm(“SomeAction”、“SomeController”)) { @对于(变量i=0;i<5;i++) { 学生姓名:@Html.TextBox(“姓名[“+i+”],空) } 拯救 } 然后你的后控制者行动可以采取一系列的学生:

[HttpPost]
public ActionResult SomeAction(IList<StudentNames> students)
{
    ...
}
[HttpPost]
公共行动结果行动(ILST学生)
{
...
}
如果您希望能够在视图中动态添加和删除此集合中的项,我建议您阅读Steven Sanderson的文章,他在文章中演示了一种很好的技术,可以让您构建这样的接口