本文利用的是XML的DSO数据绑定功能来实现ASP代码和HTML代码的分离,从而实现快速更换HTML模板的功能,由于本人只是刚刚开始接触XML,有许多不太了解的,在这里仅仅是提出一点想法,如果本文有错漏的地方请大家指多.
目前快速更换模板功能基本上是处于replace替换模板中的特殊标签后再显示出来,这样加大了许多ASP的处理时间,而且模板文件过长的话,加载到内存里进行处理时也是对服务器内存的一种考验.而XML中提供了一种DSO数据绑定功能.可以将标识替换操作交付给客户端.由于为了简化HTML模板的制作要求.所以,尽量简化HTML模板的XML技术含量是有必要的.
简单来说这个方式只是使用datasrc和dataFLd这两个HTML标签的属性实现的.废话就不多说了,一切实例说话.以下两个例子将说明一切.
例一:单个数据显示 以下是用ASP生成的XML数据岛. <xml id="xmldata"> <xData> <name>coder</name> <webname>轻灵自由的珍珠</webname> <weburl>http://blog.csdn.net/oyiboy</weburl> </xData> </xml>
显示时的HTML原码: <table datasrc="#xmldata" border=1> <tr> <td colspan=2>我的简单介绍</td> </tr> <tr> <td>我的名称:</td> <td><span dataFLd="name"></span></td> </tr> <tr> <td>网站名称:</td> <td><span dataFLd="webname"></span></td> </tr> <tr> <td>网站地址:</td> <td><a dataFLd="weburl"><span dataFLd="weburl"></span></a></td> </tr>
例二:多条数据显示 以下是用ASP生成的XML数据岛. <xml id="xmldataList"> <xData> <webList> <webname>轻灵自由的珍珠</webname> <weburl>http://blog.csdn.net/oyiboy</weburl> </webList> <webList> <webname>Estyle(靳田)之狂想手扎</webname> <weburl>http://blog.csdn.net/estyle</weburl> </webList> <webList> <webname>最爱白菜</webname> <weburl>http://blog.csdn.net/qunluo</weburl> </webList> </xData> </xml>
显示时的HTML原码: <table datasrc="#xmldataList" border=1> <thead> <tr> <td colspan=2>我关注的Csdn Blog列表</td> </tr> <tr> <td align="center">名称</td> <td align="center">地址</td> </tr> </thead> <tbody> <tr> <td><span dataFLd="webname"></span></td> <td><a dataFLd="weburl"><span dataFLd="weburl"></span></a></td> </tr> </tbody>
(以上两个例子可以copy到一个文件内查看实际运行效果.) 注意例二HTML原码中的thead和tbody,在显示多条记录时会有用的,如果不明白他们有什么用的可以去掉它们后看看会有什么后果.
顺便说一句,图像和按键的数据绑定和超链接的绑定是差不多的,如:<img dataFLd="webimg">和<button dataFLd="buttonvalue"></button>
局限,就是要求浏览器必须支持XML,还有一个疑问.象例一中的<a dataFLd="weburl"><span dataFLd="weburl"></span></a>会显示得出<a href="http://blog.csdn.net/oyiboy">http://blog.csdn.net/oyiboy</a>的效果,如果要在不修改XML数据的情况下实现<a href="http://blog.csdn.net/oyiboy/?loginname=code">http://blog.csdn.net/oyiboy</a>的效果应该怎么作.请各位高人指点一下.
|