本文利用的是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> 
</table> 


例二:多条数据显示 
以下是用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> 
</table> 

(以上两个例子可以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>的效果应该怎么作.请各位高人指点一下. 

点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部