vs2013中,自定義mvc 添加視圖腳手架

參考文章:jquery

http://weblogs.asp.net/imranbaloch/archive/2013/09/15/customizing-the-asp-net-mvc-5-web-api-2-scaffolding-templates.aspxweb

http://www.hanselman.com/blog/ModifyingTheDefaultCodeGenerationscaffoldingTemplatesInASPNETMVC.aspxapi

mvc5的腳手架位置與以前的有點不同mvc

asp.net

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates.net

以前是在blog

C:\Program Files (or x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp (or Visual Basic)\Web\MVC (or 2) 3\CodeTemplatesip

在本身的項目裏,創建一個 CodeTemplates 文件夾get

下面有一個 MvcView文件夾it

在此文件夾中創建 Create1.cs.t4

image

在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" #>
image

參數與界面上的東西基本是對應的。

至少是要指定一個模型類的

若是你想要建立不太模型的腳手架,相似默認提供的 Empty(不具備模型)

你須要把t4放在 MvcViewWithoutModel 文件夾下

image

image

相關文章
相關標籤/搜索