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