C# 为什么razor不向表单控件添加正确的引导类?
我刚刚下载了VS2013,因为它对引导框架提供了新的本机支持 我创建了我的表单,但它们看起来与原始引导的表单不同。问题是,它似乎是razor及其“EditorFor”方法,并没有添加引导所需的“form control”类 我可以将其添加为html参数,但随后我必须为我的站点中的每个文本字段添加该参数C# 为什么razor不向表单控件添加正确的引导类?,c#,asp.net-mvc,twitter-bootstrap,razor,asp.net-mvc-5,C#,Asp.net Mvc,Twitter Bootstrap,Razor,Asp.net Mvc 5,我刚刚下载了VS2013,因为它对引导框架提供了新的本机支持 我创建了我的表单,但它们看起来与原始引导的表单不同。问题是,它似乎是razor及其“EditorFor”方法,并没有添加引导所需的“form control”类 我可以将其添加为html参数,但随后我必须为我的站点中的每个文本字段添加该参数 如何修复/修改Razor以使其自动为该对象添加此类?必须始终手动添加HTML类。默认情况下,不会自动为您执行此操作 有几个选项供您选择: 如您所述,将类放入HtmlatAttributes中 创
如何修复/修改Razor以使其自动为该对象添加此类?必须始终手动添加HTML类。默认情况下,不会自动为您执行此操作 有几个选项供您选择:
- 如您所述,将类放入HtmlatAttributes中
- 创造或创造
- 使用像这样的库(我认为这需要花费多少钱?)
@Html.TextBoxFor(model => model.Title, new {style="border:1px solid red;"})
这很有效。如果要添加任何类
@Html.TextBoxFor(model => model.Title, new {@class="fooo"})
应该可以工作。最后,这肯定不是一个错误,只是.NET决定不包括这个 我找到的最简单的方法是使用Jquery并将类添加到所有字段中,在我的示例中,我需要将所有文本框添加到选择列表中
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script>
$(".text-box").addClass("form-control");
$("select").addClass("form-control");
</script>
}
@节脚本{
@Scripts.Render(“~/bundles/jqueryval”)
$(“.text box”).addClass(“表单控件”);
$(“选择”).addClass(“窗体控件”);
}
Visual Studio本身对您的要求几乎没有影响。重要的是MVC库/助手。恐怕他们不“本机支持引导”。。因为这意味着每次你使用EditorFor
时,如果你不使用引导,它都会向控件中添加不需要的类。你似乎是对的,我刚刚发现了这一点,但无论如何,我无法让它工作,即使像他们说的那样“添加”类,它也不会被添加。它工作,但只有在使用默认编辑器时才使用TextBoxFor,因为它不起作用。这意味着我必须在我的应用程序中全部替换它…是的,正如你提到的,他们承诺让editorfor在MVC5.1中工作,但做得不太好。如果你用这个更好。它被证明是有效的。这对我来说太麻烦了。我建议不要使用razor并将类添加为普通html。对我来说,如果我想在表单中添加一个框架(如angular),这将带来更大的灵活性。