zoukankan      html  css  js  c++  java
  • 动软模板使用流程

    模板的大体分为5块内容:模板指令声明,代码语句块,表达式块,类功能控制块,文本块输出。下面我们分别来介绍一下这5块内容的语法和使用说明。

    1. 模板指令声明块 <#@  #>

    和ASP.NET页面的指令一样,它们出现在文件头,通过<#@…#>表示。其中<#@ template …#>指令是必须的,用于定义模板的基本属性。

    (1)    模板指令

    <#@ template [language="VB"] [hostspecific="true"] [debug="true"] [inherits="templateBaseClass"] [culture="code"] [compilerOptions="options"] #>

    例如

    <#@ template language="C#v3.5" hostSpecific="true" debug="true" #>

    Language  这里可以指定模板使用的语言。

    hostSpecific="true" 表示是否使用特定的host,host里面包含了模板使用的各种对象。

    注意

    所有属性值必须用双引号都括起来。如果值本身包含引号,则必须使用  字符对这些引号进行转义。 指令通常是模板文件或包含的文件中的第一个元素。

     

    (2)    参数指令

    <#@ parameter type="Full.TypeName" name="ParameterName" #>

     

    (3)    输出指令

    <#@ output extension=".fileNameExtension"  encoding="encoding"  #>

    • output extension=".cs"   指定生成文件的扩展名。

    encoding="encoding"    指定生成文件的编码。

     

    (4)    程序集指令

    <#@ assembly name="System.Data" #>

    用于添加程序集引用,如果要使用第三方程序集,那么最好在项目中添加引用。

    注:您应使用绝对路径的名称,或者路径名称中使用标准的宏的名称。

    例如: <#@ assembly name="$(SolutionDir)libraryMyAssembly.dll" #>

     

    (5)    导入指令

    <#@ import namespace="System.Data" #>

    导入要使用的命名空间,注意:这里的命名空间必须要在前面指定的程序集里面找得到的,比如我指定命名空间"System.Data","System.Data.Common",这些在程序集System.Data中都有的

     

    (6)    包含指令

    <#@ include file="test.tt" #> 导入模板,类似Html的include用法

    include 指令插入其他模板文件的文本。

    例如,下面的指令插入 test.txt 的内容。 <#@ include file="c: est.txt" #>

    在处理时,被包含内容就像是包含文本模板的组成部分一样。 不过,即使 include 指令后跟普通文本块和标准控制块,也可以包含编写有类功能块 <#+...#> 的文件

     

    1. 代码语句块: <#   #>

    在模板文件中,可以混合使用任意数量的文本块和标准控制块。中间是一段通过相应编程语言编写的程序调用,我们可以通过代码语句快控制文本转化的流程。

    注意:不能在控制块中嵌套控制块。

    <#@ output extension=".txt" #>

    <#

        for(int i = 0; i < 4; i++)

        {

    #>

     Hello!

    <#

        }

    #>

     

     

    1. 表达式块:<#=  #>

    表达式控制块计算表达式并将其转换为字符串。 该字符串将插入到输出文件中。

    例如: <#= 2 + 3 #>

    表达式可以包含作用域中的任何变量。 例如,下面的块输出数字行:

    <#@ output extension=".txt" #>

    <#

        for(int i = 0; i < 4; i++)

        {

    #>

    This is hello number <#= i+1 #>: Hello!

    <#

        }

    #>

     

    1. 类功能控制块:<#+  #>

    如果文本转化需要一些比较复杂的逻辑,我们需要写在一个单独的辅助方法中,甚至是定义一些单独的类,我们就是将它们定义在类特性块中。类功能控制块定义属性、方法或不应包含在主转换中的所有其他代码。 类功能块常用于编写帮助器函数。 通常,类功能块位于单独的文件中,这样它们可以包含在多个文本模板中。 类功能控制块以 <#+ ... #> 符号分隔。

    例如,下面的模板文件声明并使用一个方法:

    <#@ output extension=".txt" #>

    Squares:

    <#

        for(int i = 0; i < 4; i++)

        {

    #>

        The square of <#= i #> is <#= Square(i+1) #>.

    <#

        }

    #>

    That is the end of the list.

    <#+  // Start of class feature block

    private int Square(int i)

    {

        return i*i;

    }

    #>

    类功能必须编写在文件末尾。不过,即使 include指令后跟标准块和文本,也可以 <#@include #> 包含类功能的文件。例如下面代码则会报错:

    List of Squares:

    <#

       for(int i = 0; i < 4; i++)

       {  WriteSquareLine(i); }

    #>

    End of list.

    <#+  // Class feature block

    private void WriteSquareLine(int i)

    {

    #>

       The square of <#= i #> is <#= i*i #>.

    <#  

    }

    #>

    摘要:http://www.maticsoft.com/help/Template.htm#_Toc292191122  

  • 相关阅读:
    kb,mb
    搜狗浏览器“Alt+Z”(重新打开刚关闭的页面)失效的解决方案——使用“hkexplr”查看占用的快捷键
    在 Windows server 中备份数据、分区、磁盘,以及硬盘对拷——傲梅轻松备份2.1.0汉化破解技术员版
    使用了阵列卡的服务器,在Windows系统内看到硬盘的品牌、型号信息——aida64
    利用“VeraCrypt”创建加密卷(文件夹加密,较高强度)
    Windows下多个硬盘显示为一个分区的方案
    win10企业版400年密钥
    Easy2Boot——可制作多包含多个原版系统(.iso)的工具
    第三方资源管理器——XYplorer(可自定义文件夹颜色)
    Windows10专业版(版本号:21H1)安装后的设置
  • 原文地址:https://www.cnblogs.com/searchbaidu/p/11687182.html
Copyright © 2011-2022 走看看