WEB开发网
开发学院软件开发C语言 VTemplate模版引擎的使用--进阶篇 阅读

VTemplate模版引擎的使用--进阶篇

 2010-09-30 20:52:25 来源:WEB开发网   
核心提示: 上面两块的VT模版代码看起来很相似,但是经解析后A中的var1与inc这个<vt:template>模版块下的变量var1分别独立存在,VTemplate模版引擎的使用--进阶篇(2),互不影响!而B中的变量var1与inc这个<vt:include>的变量var1相等,

上面两块的VT模版代码看起来很相似,但是经解析后A中的var1与inc这个<vt:template>模版块下的变量var1分别独立存在,互不影响!而B中的变量var1与inc这个<vt:include>的变量var1相等,都是引用同一个变量(其它变量类似)。

现假如A、B两块的VT模版代码都通过过下面的程序来处理:

this.Document.Variables.SetValue("var1", 1);
this.Document.Variables.SetValue("names", new string[] { "张三", "李四", "王五" });

也即是只对外部变量var1、names赋值,最终经模版引擎解析输出后,它们的输出结果如下:

VTemplate模版引擎的使用--进阶篇

从图可知,<vt:template>包含的没有数据输出,而用<vt:include>包含则有数据输出并且和外部数据一模一样!所以可把<vt:template>标签看成是程序语言里的类,它能拥有它自己的变量,改变外部变量的值不会影响到其内部的同名变量,并且外部标签可通过其id获取其内部变量!

具体的示例代码,请参考:http://net-vtemplate.googlecode.com/svn/src/VTemplate.WebTester/template_include_test.ashx.cs

2、使用变量表达式

变量表达式可用在标签属性,也可用在变量元素中。它的作用就是用于获取变量中某个字段、属性、函数方法或索引的结果值。比如上例中的#.var1就是说明获取var1变量的值,也即是数值“1”。

对于变量值类型中真实存在的字段、属性或函数方法,VT模版引擎将通过反射获取其结果值,例如以下VT模版代码:

上一页  1 2 3 4 5  下一页

Tags:VTemplate 引擎

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接