我在Visual Studio 2012中开发一个ASP.NET MVC4应用程序。我也使用twitter bootstrap。
每当我生成一个新的控制器,VS2012会自动为我生成默认的CRUD页面,这是很好的。
有没有一个VS2012插件,帮助生成这些视图的方式bootstrap期望它是?
下面是VS2012生成的示例div。
<div class="editor-label"> @Html.LabelFor(model => model.Name) </div> <div class="editor-field"> @Html.EditorFor(model => model.Name) @Html.ValidationMessageFor(model => model.Name) </div>
..我将手动更改为…
<div class="editor-label control-group"> @Html.LabelFor(model => model.Name,new { @class = "control-label" }) <div class="editor-field controls"> @Html.EditorFor( model => model.Name,"CustomTemplate",new { @class = "input-xlarge" }) @Html.ValidationMessageFor(model => model.Name) </div> </div>
解决方法
ASP.NET MVC使用
T4 templates通过添加视图和添加控制器对话框来构建视图(以及控制器)。
您可以轻松地使用您的自定义Bootsrtap标记自定义这些模板。
你只需要复制CodeTemplates目录(根据安装的操作系统,VS和ASP.NET MVC版本,路径可以不同)
c:\Program Files (x86)\ Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 4
在你的MVC项目下的CodeTemplates目录下,他们可以进行定制。
这里是一步一步的指导步骤:Modifying the default code generation/scaffolding templates in ASP.NET MVC
如果你想采取脚手架进一步我建议你检查出的MVC.Scaffolding项目有更多的功能比内置的。
或者,因为你正在寻找自定义目标Bootstrap,你可以查看twitter.bootstrap.mvc项目(intro blog post)
它的一些features:
>运行时脚手架 – 默认索引,编辑和详细信息视图..您提供POCO,我们将渲染CRUD视图。
> MVC代码模板从mvc添加视图/添加控制器对话框生成新视图
自定义MVC代码模板(仍然是在进行中)可在单独的nuget packge:
PM> Install-Package twitter.bootstrap.mvc4.templates