MVC开发T4代码生成之一----文本模板基础

T4文本模板

       T4全写为Text Template Transformation Toolkit,是一种编程辅助工具,用来使程序代码自(懒)动(猿)生(福)成(利)的工具。MVC开发中大量使用了T4模板,近乎魔性的应用可以参考Steve Sanderso的 MvcScaffolding系列文章。关于T4文本模板的相关知识,最权威的教材就是微软的官方说明,其中重要的指令可以参考这里。园子里也有许多相关文章,从基础的T4模版引擎之基础入门 到涉及T4体系结构的(译)理解 T4 模板:<#@ parameter #> 指令都有,这些内容作为基础参考资料已经很详细,这里就不再重复了。从本篇开始,我们会以T4模板在MVC视图开发中的应用为例逐步对T4模板进行应用扩展。

MVC网站开发中的T4应用

       在MVC网站开发中,当新建controller-Action后可以通过在Action上右键点击“添加视图”的方式弹出为Action添加视图对话框:

MVC开发T4代码生成之一----文本模板基础_第1张图片

在其中选择合适的模板、模型类及其他参数后点击确定就会在项目Views文件下与controller名称对应的目录下创建Action视图(第一次使用这个功能时着实激动了很久),这其实就是使用的vs自带的视图T4模板,vs自带的视图T4模板一共有图上所示Create、Delete、Details、Edit、Empty、Empty(不具有模型)、List几种,并且分C#、VB两个版本,模板位置在C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates\MvcView内并以.t4做扩展名,其中.cs.t4的为C#版.vb.t4的为VB版:

MVC开发T4代码生成之一----文本模板基础_第2张图片

  可以看到目录内的T4模板与新建视图时的模型是相对应的,模板可以使用任意文本编辑工具打开编辑。其中的Imports.include.t4是一个公共头部,ModelMetadataFunctions.cs.include.t4则是一个处理ModelMetadata的公共函数,这两个文件供其他模板包含使用。

 

你可能感兴趣的:(MVC开发T4代码生成之一----文本模板基础)