【发布时间】:2009-10-24 11:57:30
【问题描述】:
我一直在使用 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?
【问题讨论】: