I'm using the following code-snippet extensively in my model 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>
Is it possible to encapsulate this generically in an editor template so I can use Html.EditorFor(...) without resorting to a custom extension?
Is it possible to encapsulate this generically in an editor template
so I can use Html.EditorFor(...) without resorting to a custom
extension?
Of course:
~/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>
and then:
@Html.EditorFor(x => x.FirstName, "Foo")
or:
[UIHint("Foo")]
pubilc string FirstName { get; set; }
and then:
@Html.EditorFor(x => x.FirstName)