ASP.NET MVC 5的Html.EditorFor()和Bootstrap 3.0有解决方案吗?

11

问题:

有没有一种方法可以让ASP.NET MVC 5的Html.EditorFor()表单助手与更改的Bootstrap 3表单语法兼容?

讨论(我已经调查过的内容):

看起来有很多关于覆盖内置MVC助手的黑客的SO问题。总的来说,似乎没有支持的解决方案来修改助手HTML。(如果我错了,请纠正我)

因此,是否有可能构建一个适应Bootstrap 3表单CSS外观的Helper 2.3.x HTML的shim CSS文件?除了自动表单字段之外,MVC 5的大多数其他方面都与Bootstrap 3兼容。

CSS shim的好处是,在ASP.NET MVC更新为本地支持较新的Bootstrap语法时,它可以被删除。

*我承认ASP.NET MVC 5仍处于beta版,并且由于3.0当时也处于beta版,因此已经开发了Bootstrap 2.3.x。


我听说 MVC 5 的 RTM 版本将包括对 Bootstrap 3.0 的支持,尽管我目前无法找到相关的博客文章或发布说明。如果您有相关信息,请发布链接。 - Dan Sorensen
丹,自从你发布了这篇文章以来,你找到解决方案了吗?我们现在遇到了与你描述的相同的问题,即无法将新的Bootstrap 3的form-control类附加到使用Html.EditorFor()呈现的输入。我们还是没办法了吗? - John Washam
老实说,我最近没有检查过。我打算在 Visual Studio 2013 最终版本发布后重新测试这个问题,看看是否有改进。你是否检查过你的 bootstrap 和 MVC 组件是否有 NuGet 更新可用? - Dan Sorensen
我们刚刚升级了我们的解决方案,使用MVC 5并手动集成了Bootstrap 3,但据我所知,仍然没有办法在EditorFor中获取HTML属性,除非进行自定义属性实现或其他操作。只是不知道你是否有任何其他解决方案的好运。感谢您的回复! - John Washam
3个回答

16

现在有一个MS解决方案用于MVC辅助程序。

当前它是预发布版,但MVC5.1已经

MVC 5.1已发布并且具有以下功能:

视图中的Bootstrap支持

现在允许将HTML属性作为匿名对象传递给EditorFor。

示例代码...

@Html.EditorFor(model => model, new { htmlAttributes = new { @class = "form-control" }, })

这里有更多相关信息... http://www.asp.net/visual-studio/overview/2013/aspnet-and-web-tools-20132-preview-for-visual-studio-2013-release-notes#mvcbootstrap

安装说明在这里... http://blogs.msdn.com/b/webdev/archive/2013/12/09/asp-net-and-web-tools-2013-2-preview-for-visual-studio-2013.aspx


3
请注意,此更新现已正式发布。 http://blogs.msdn.com/b/webdev/archive/2014/01/20/announcing-the-release-of-asp-net-mvc-5-1-asp-net-web-api-2-1-and-asp-net-web-pages-3-1.aspx - dave heywood

8
TwitterBootstrapMVC看起来是对Bootstrap 3的很好的抽象 - 在Fluent API方面非常出色,但为了试用而发送信用卡详细信息?不行。

2

TwitterBootstrapMVC 是一个 HTML 辅助库,主要目的是简化与 Twitter Bootstrap 的表单相关的 HTML 编写。

截至今天,它与 Twitter Bootstrap 2 语法一起工作。然而,对于 Twitter Bootstrap 3 的支持将很快发布。

如果您使用了此库中的辅助程序,则从 v2 到 v3 的过渡应该是无痛的。


免责声明:我是 TwitterBootstrapMVC 的作者。
Bootstrap 3 的 BMVC 不是免费的。


7
值得一提的是,这是一个收费图书馆。 - Ofiris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接