vs2013中,自定义mvc 添加视图脚手架
参考文章:
http://www.hanselman.com/blog/ModifyingTheDefaultCodeGenerationscaffoldingTemplatesInASPNETMVC.aspx
mvc5的脚手架位置与之前的有点不一样
在
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates
之前是在
C:\Program Files (or x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp (or Visual Basic)\Web\MVC (or 2) 3\CodeTemplates
在自己的项目里,建立一个 CodeTemplates 文件夹
下面有一个 MvcView文件夹
在此文件夹中建立 Create1.cs.t4
在controller里,使用添加视图,就可以找到这个模板了。
如果你是把默认的copy过来,修改的,那只copy这一个是不行的,因为里面有一些对其他模板的引用
要么,全copy过来,要么把引用的地方换成具体的内容
另外,copy来的模板里有这么一句
<script src="~/Scripts/jquery-<#= JQueryVersion #>.min.js"></script>
其中的变量JQueryVersion我没找到是哪里定义的,copy代码过来,这个玩意会报错
模板参数
<#@ parameter type="System.String" name="ViewDataTypeName" #> <#@ parameter type="System.String" name="ViewDataTypeShortName" #> <#@ parameter type="System.Boolean" name="IsPartialView" #> <#@ parameter type="System.Boolean" name="IsLayoutPageSelected" #> <#@ parameter type="System.Boolean" name="ReferenceScriptLibraries" #> <#@ parameter type="System.Boolean" name="IsBundleConfigPresent" #> <#@ parameter type="System.String" name="ViewName" #> <#@ parameter type="System.String" name="LayoutPageFile" #> <#@ parameter type="Microsoft.AspNet.Scaffolding.Core.Metadata.ModelMetadata" name="ModelMetadata" #>
参数与界面上的东西基本是对应的。
至少是要指定一个模型类的
如果你想要创建不太模型的脚手架,类似默认提供的 Empty(不具有模型)
你需要把t4放在 MvcViewWithoutModel 文件夹下
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。