登峰造极的ASP.NET:文本模板转换工具包和ASP.NET MVC

Microsoft Visual Studio 包含一个称为 T4(文本模板转换工具包的缩写)的代码生成引擎。您或许 已在 Visual Studio 中使用 T4 模板,甚至还不知道这些模板已在后台工作。在本文中,我将简单介绍 T4 模板并说明 ASP.NET MVC 如何使用此项技术。同时我还会为您介绍如何自定义 T4 模板以使用 MVC 框架提高您的日常工作效率。

该模板工具包背后的基本理念是分析输入文件并将其转换为输出文件。输入文件是一个模板(文件扩 展名为 .tt 的文本文件)。输出文件还会包含文本,文本可以是 C# 代码、Visual Basic 代码、Web 窗 体代码、标记或您需要生成的任何其他内容。

观看 T4 演示的最简单方法是在 Visual Studio 中创建一个新项目。我将在本文中生成 C# 代码,因 此您可以使用编译 C# 代码的任何项目类型。打开项目后,右键单击该项目,然后选择“添加”|“新建 项目”。从“添加新项”对话框中选择“文本文件”(Visual Studio 2008 中没有专用于 T4 的项目模 板,但 Visual Studio 2010 中将提供),然后将文件命名为 Simple.tt(确保使用 .tt 扩展名)。将 该文件加载到项目后,您会立即在“解决方案资源管理器”窗口中看到 Simple.cs 文件显示在 Simple.tt 之后。(请参见图 1)。

图 1 T4 模板后面的 C# 文件

Simple.tt 和 Simple.cs 文件一开始都是空文件。如果您右键单击 Simple.tt 文件,然后选择“属 性”,您将看到 Visual Studio 将 TextTemplatingFileGenerator 指定为文件的自定义工具(请参见图 2)。此生成器是 T4 引擎,会将模板文件转换为一个完全由 C# 代码组成的文件。

图 2 T4 模板的属性

时间: 2024-11-16 09:10:47

登峰造极的ASP.NET:文本模板转换工具包和ASP.NET MVC的相关文章

文本模板转换工具箱T4

Visual Studio 2008包含了一个文本模板转换工具箱,又称为T4,是领域特定语言工具的一部分,并可用于基于文本模板的方式来生成代码. 一个文本模板是一个包含文本块和控制逻辑混合物的文件.当你转换一个文本模板,控制逻辑结合了文本块与模型里的数据来生成一个输出文件.你可以用文本模板来生成文本的输出,例如代码文件和HTML报表.举个例子,用户界面的页面之间的流程控制的模型,例如向导界面,可以通过输入一个文本模板.文本模板可以生成流程控制的代码和配置文件.Scott Guthrie之前所宣布

Visual Studio 2005 新建项目没有Asp.net程序模板,无法新建Asp.net程序,安装好就发现这个问题,大家帮帮忙啊

问题描述 VisualStudio2005新建项目没有Asp.net程序模板,无法新建Asp.net程序,安装好就发现这个问题,大家帮帮忙啊,谢啦 解决方案 解决方案二:新建网站

ASP.NET Razor模板引擎中输出Html的两种方式_实用技巧

本文实例讲述了ASP.NET Razor模板引擎中输出Html的两种方式.分享给大家供大家参考,具体如下: Razor中所有的Html都会自动编码,这样就不需要我们手动去编码了(安全),但在需要输出Html时就是已经转义过的Html文本了,如下所示: @{ string thisTest = "<span style=\"color:#f00;\">qubernet</span>"; } @thisTest; 这样在页面输出的文本就是:<

关于ASP.NET中日期转换的心得

asp.net|日期|心得|转换 日期转换成字符串几乎是每个项目都要进行的工作,无论您用什么开发工具.在SQL Server中使用Convert或Cast可以方便的转换日期为各种格式的字符串,在PB中可以用string(date,"yyyy-mm-dd")一步到位.在asp.net中呢?我发现总是不如我意,如果使用yyyy-mm-dd这种方式转换: BeginDate.SelectedDate.ToString("yyyy-mm-dd",DateTimeFormat

在Word 2007文档中将文本框转换成图文框

在Word 2007文档中插入文本框可以增强排版的灵活性,但文本框不具备自动编号等Word文档功能,在一定程度上限制了用户的应用需求.如果需要使用更强大的Word文档功能,而又不丢失文本框在排版时的灵活性,可以将文本框转换成图文框.在Word2007文档中将文本框转换成图文框的步骤如下所述: 第1步,打开Word2007文档窗口,右键单击文本框的边框,并在打开的快捷菜单中选择"设置文本框格式"命令,如图2009010508所示. 图2009010508 选择"设置文本框格式&

文本语音转换入门

内容简介 文本语音(Text-to-Speech,以下简称TTS),它的作用就是把通过TTS引擎把文本转化为语音输出.本文不是讲述如何建立自己的TTS引擎,而是简单介绍如何运用Microsoft Speech SDK 建立自己的文本语音转换应用程序. Microsoft Speech SDK简介 Microsoft Speech SDK是微软提供的软件开发包,提供的Speech API (SAPI)主要包含两大方面: 1.API for Text-to-Speech 2.API for Spee

如何将Excel的文本数字转换成数字

  如何将Excel的文本数字转换成数字: 在Excel中,系统将前面带有半角单引号的数字视为文本对待,而且为了某些需要,用户可以通过"格式"菜单中的"单元格"命令,将数字设置为文本格式.然而,现在我们却需要把工作表中文本格式的数字转换成数字,那么以下方法可以一试. 1.一次转换一个单元格 在"工具"菜单上,单击"选项",再单击"错误检查"选项卡(一定要确保选中了"允许后台错误检查"和&

Word 2007技巧:将文本框转换成图文框

  在在Word 2007文档中插入文本框可以增强排版的灵活性,但文本框不具备自动编号等Word文档功能,在一定程度上限制了用户的应用需求.如果需要使用更强大的Word 2007文档功能,而又不丢失文本框在排版时的灵活性,可以将文本框转换成图文框.在Word2007文档中将文本框转换成图文框的步骤如下所述: 第1步,打开Word 2007文档窗口,右键单击文本框的边框,并在打开的快捷菜单中选择"设置文本框格式"命令,如图所示. 选择Word 2007"设置文本框格式"

C#检索access数据库时如何将文本字段转换成数字

问题描述 C#检索access数据库时如何将文本字段转换成数字 检索的一个字段时文本类型,里面的内容包括:1000,还有一些具体的数字20,30, 50,如何在检索条件时,将文本类型装换成数字类型比较,检索出20和30呢? 解决方案 可以参考以下例子,table1.a为字符串,table2.b为数值 select a from Table1 where val(a) in (select b from Table2) or select a from Table1 where a in (sel