Я много работал с веб-формами asp.net, и мне кажется, что мне нравится согласованность с сгенерированной разметкой, например, если вы создаете составной элемент управления для TextField, вы можете управлять сгенерированной разметкой в одном классе, например, не нарушая SRP:
<form:textfield id="firstName" runat="server" required="true" label="First Name" />
Если вы создадите разметку вручную, она может выглядеть следующим образом:
<label for="firstName" id="lbl_firstName">Name <span class="required">*</span></label>
<input id="firstName" name="firstName" type="text" value="" />
Проблема в том, что когда вы хотите что-то изменить, например, добавить упаковочный тег или переместить интервал. В худшем случае вам нужно отредактировать тысячи просмотров.
Вот почему мне очень нравится MVC Contrib FluentHtml.
<%= this.TextBox(x => x.Message.PostedBy).Class("required").Label("Name") %>
Мой вопрос: что, по вашему мнению, является лучшим способом добавить упаковочный div для строки кода выше? Я думаю, что почерк не вариант из-за аргументов выше? Возможно расширение TextBox: MvcContrib.FluentHtml.Elements.TextInput?