本文利用的是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>的效果應該怎么作.請各位高人指點一下.
|