我正在将我的应用程序升级到Bootstrap 2.1.1,我需要为许多表单标记添加一个类属性(class =“form-horizontal”)。问题是,大多数表格使用相当漂亮的
@using (Html.BeginForm()) {
我宁愿保留的格式。获取类属性的明显方法是使用以下重载,例如:
@using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @class = "form-horizontal" })) {
但我宁愿不这样做。向表单添加类属性的最佳方法是什么?
我已经考虑过将 jQuery 文档就绪处理程序用于.addClass(“form-horizontal”)表单,但我担心用户会看到可怕的'无格式内容的闪存'。
另一种方法可能是使用 less 风格的混合,将.form-horizontal类添加到所有表单样式规则中,但我还没有用得少,所以我是不确定这个。
任何人都知道解决这个问题的最佳方法吗?
答案 0 :(得分:21)
根据StanK的建议,以及关于SO的其他一些答案的建议,我创建了一个专门针对Bootstrap表单布局的扩展方法:
public static MvcForm BeginHorizontalForm(this HtmlHelper helper) {
return helper.BeginForm(null, null, FormMethod.Post, new { @class = "form-horizontal" });
}
允许我使用
@using (Html.BeginHorizontalForm()) {...
这很优雅。
答案 1 :(得分:15)
如何编写一个调用所需重载的自定义帮助器方法,传入'form-horizontal'?
然后,您的观点将使用@using (Html.BootstrapBeginForm()) {
,让您的观点变得更加整洁。