我一直在使用 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="" />
问题是何时想要更改某些内容,例如添加包装 div 或移动跨度。在最坏的情况下,您必须编辑数千个视图。
这就是为什么我真的很喜欢 MVC Contrib FluentHtml。
<%= this.TextBox(x => x.Message.PostedBy).Class("required").Label("Name") %>
我的问题是您认为为上面的代码行添加包装 div 的最佳方法是什么?由于上述论点,我认为手写不是一种选择?也许扩展 TextBox : MvcContrib.FluentHtml.Elements.TextInput?