Код в моем представлении бритвы (MVC 5) повторяется со следующим шаблоном, таким как FirstName, LastName, ShortName и т. Д. Мне интересно, можно ли инкапсулировать в один помощник HTML, который может принимать строго типизированное лямбда-выражение и генерировать следующее HTML для меня?
@Html.TextBoxFor(m => m.FirstName, new { @class = "validate" })
@Html.LabelFor(m => m.FirstName)
<span class="red-text">
@Html.ValidationMessageFor(m => m.FirstName)
</span>
@Html.TextBoxFor(m => m.LastName, new { @class = "validate" })
@Html.LabelFor(m => m.LastName)
<span class="red-text">
@Html.ValidationMessageFor(m => m.LastName)
</span>
@Html.TextBoxFor(m => m.ShortName, new { @class = "validate" })
@Html.LabelFor(m => m.ShortName)
<span class="red-text">
@Html.ValidationMessageFor(m => m.ShortName)
</span>
В идеале хотелось бы написать:
@Html.DisplayTextBox(m => m.FirstName)
@Html.DisplayTextBox(m => m.LastName)
@Html.DisplayTextBox(m => m.ShortName)
Думаю, этого можно достичь, но не знаю как? Я надеюсь, что кто-нибудь может мне помочь или указать на ресурс, где я могу прочитать и написать код?
Я не хочу зависеть от EditorTemplate, потому что хочу контролировать формат формы.