我在模型模板中广泛使用以下代码段。
<div class="control-group">
@Html.LabelFor(model => model.FirstName)
<div class="controls">
@Html.TextBoxFor(model => model.FirstName, new { @class = "span3" })
@Html.ValidationMessageFor(model => model.FirstName)
</div>
</div>
是否可以将此一般封装在编辑器模板中,以便我可以使用Html.EditorFor(...)而不使用来使用自定义扩展程序?
答案 0 :(得分:10)
是否可以将其一般性地封装在编辑器模板中 所以我可以使用Html.EditorFor(...)而无需使用自定义 扩展
当然:
~/Views/Shared/EditorTemplates/Foo.cshtml
:
<div class="control-group">
@Html.Label("")
<div class="controls">
@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new { @class = "span3" })
@Html.ValidationMessage("")
</div>
</div>
然后:
@Html.EditorFor(x => x.FirstName, "Foo")
或:
[UIHint("Foo")]
pubilc string FirstName { get; set; }
然后:
@Html.EditorFor(x => x.FirstName)