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

本文关键字:创建 模型 视图 asp net mvc | 更新日期: 2023-09-27 17:57:27

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

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>

当点击这个按钮时,控制器中会返回一个列表,在那里我可以将它们保存在数据库中。

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

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

您可以从阅读模型绑定器对binding to lists期望的约定开始。然后适当地命名您的输入字段:

@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>
}

然后你的POST控制器动作可能会吸引一批学生:

[HttpPost]
public ActionResult SomeAction(IList<StudentNames> students)
{
    ...
}

如果你想在视图中动态地添加和删除这个集合中的项目,我建议你阅读Steven Sanderson的Editing a variable length list文章,他在文章中展示了一种很好的技术,可以让你构建这样的界面。