我有一个这样的课程
public class Sample_Class {
public string Property1 { get; set;}
public string Property2 { get; set;}
}
我想要一个像这样的html表单:
<fieldset>
<legend>Change Password Form</legend>
<ol>
<li>
@Html.LabelFor(m => m.Property1)
@Html.TextBoxFor(m => m.Property1)
@Html.ValidationMessageFor(m => m.Property1)
</li>
<li>
@Html.LabelFor(m => m.Property2)
@Html.TextBoxFor(m => m.Property1)
@Html.ValidationMessageFor(m => m.Property1)
</li>
</ol>
<input type="submit" value="Submit" />
</fieldset>
我该如何动态执行此操作?例如,像这样:
....
@foreach (property in Sample_Object.Properties) {
<li>
@Html.LabelFor(property)
@Html.TextBoxFor(property)
@Html.ValidationMessageFor(property)
</li>
}
....
答案 0 :(得分:1)
您可以使用内置的EditorForModel
功能:
@model Sample_Class
@Html.EditorForModel()
<input type="submit" value="Submit" />
它基本上做你想要的(根据文档)......
[返回]模型中每个属性的HTML输入元素。
EditorForModel
的缺点是你失去了对标记的细粒度控制。话虽这么说,您可以使用模型属性和各种重载在一定程度上自定义输出。