有没有人完全引用我可以在MVC 3附带的T4模板ControllerWithContext.tt中使用的Host对象的成员?
我已经尝试了我能想到的每一个谷歌搜索,但唯一相关的结果是这个页面: http://blogs.msdn.com/b/webdevtools/archive/2009/01/29/t4-templates-a-quick-start-guide-for-asp-net-mvc-developers.aspx
但它只显示4个属性(ItemName,NameSpace,ExtraActionMethods,ControllerRootName)而不是完整列表。在模板中有像RelatedProperties,EntitySetName,ModelType和ContextType这样的东西。
我正在尝试查找完整的属性列表,其类型和说明。任何帮助将不胜感激。
答案 0 :(得分:8)
在Visual Studio 2010中使用“添加视图”或“添加控制器”对话框时,我将ASP.NET MVC 3 properties available to T4 templates的非官方列表放在一起。它不包括在NuGet包管理器控制台中使用MvcScaffolding时可用的属性。使用T4模板确定属性信息,以反映MvcTextTemplateHost上的公共属性。
添加控制器:
+--------------------+---------------+----------------------------------------------------------------------------------------+
| Property Name | Type | Description |
+--------------------+---------------+----------------------------------------------------------------------------------------+
| AddActionMethods | Boolean | Adds action methods to the generated controller class. |
| AreaName | System.String | The name of the Area that the controller is created for. |
| ContextType | System.Type | The type of the data context. |
| ControllerName | String | The name of the controller class that will be generated. |
| ControllerRootName | String | The name of the controller class excluding the Controller part at the end of the name. |
| EntitySetName | String | Name of the property on the data context class containing the set of entities. |
| ModelType | System.Type | The type of the model class specified in the Add Controller dialog. |
| Namespace | String | Namespace that will be used for the generated controller class. |
| PrimaryKeys | PrimaryKey[] | Primary keys for the model. See table at end for PrimaryKey properties. |
| RelatedProperties | Dictionary | Related properties on the model. See table at end for RelatedModel properties. |
+--------------------+---------------+----------------------------------------------------------------------------------------+
添加视图:
+-----------------------------+---------------+------------------------------------------------------------------------------------------+
| Property Name | Type | Description |
+-----------------------------+---------------+------------------------------------------------------------------------------------------+
| AreaName | System.String | The name of the Area that the view is being created for. |
| ContentPlaceHolderIDs | List<string> | List of content place holder IDs in the master page. |
| IsContentPage | Boolean | True if the generated view will be created with a master page or a Razor layout page. |
| IsPartialView | Boolean | True if the generated view is a partial view (e.g. an ASP.NET user control). |
| MasterPageFile | String | Master page file or Razor layout to be used with view (e.g. ~/Views/Shared/Site.Master). |
| Namespace | String | Namespace that will be used for the generated view. |
| PrimaryContentPlaceHolderID | String | Primary content place holder ID to be used when creating a view using a master page. |
| ReferenceScriptLibraries | Boolean | True if checked in the Add View dialog. |
| ViewDataType | System.Type | The view model's type. |
| ViewDataTypeName | String | Fully qualified name for the view model's type. |
| ViewName | String | Name of the view. |
+-----------------------------+---------------+------------------------------------------------------------------------------------------+
共同属性:
+---------------------+-------------------------+-----------------------------------------------------------------------------------------------+
| Property Name | Type | Description |
+---------------------+-------------------------+-----------------------------------------------------------------------------------------------+
| AssemblyPath | List<string> | List of assemblies referenced by the project and the project's output assembly. Internal use. |
| Errors | CompilerErrorCollection | Used to stored errors that occur whilst processing the T4 template. Internal use. |
| FileEncoding | System.Text.Encoding | The encoding of the file that will be generated. |
| FileExtension | String | Not set. |
| FrameworkVersion | System.Version | The .NET framework version. |
| OutputFileExtension | System.String | The extension of the file that will be generated. |
| TemplateFile | System.String | The full path to the T4 template file being used. |
+---------------------+-------------------------+-----------------------------------------------------------------------------------------------+