如何创建通用的MVC3编辑器模板?

时间:2012-03-27 07:36:04

标签: asp.net-mvc-3 templates

我在模型模板中广泛使用以下代码段。

<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(...)而不使用来使用自定义扩展程序?

1 个答案:

答案 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)