循环浏览模型并在视图中为每个属性创建文本框

时间:2012-02-21 21:54:01

标签: asp.net-mvc-3

我有一个5-6属性的模型。而不是繁琐地编写一行代码来在视图中创建文本框,是否可以遍历模型中的所有属性(这些是公共的)并在视图中为每次迭代创建一个文本框?

由于

2 个答案:

答案 0 :(得分:3)

是的,您可以使用@Html.EditorForModel(),或者如果您想要更精细的控制,您可以通过一些反思生成文本框:

@foreach (var property in Model.GetType().GetProperties())
{
   @Html.Label(property.Name)
   @Html.TextBox(property.Name)
}

答案 1 :(得分:1)

这有一个内置功能。 @ Html.EditorForModel()将为每个字段吐出适当的编辑器控件。阅读MVC中的“编辑器模板”功能,了解其工作原理,如何自定义等等。