ASP.NET 2.0的XmlDataSource
ASP.NET 2.0的XmlDataSource
SqlDataSource和ObjectDataSource控件都是平面表格式的數據源控件,操作也相對簡單,在這里我就不細說了。
在這里我主要談下用于連接XML文件的XmlDataSource和用于連接站點導航數據的SiteMapDataSource這兩個層次數據源控件中XmlDataSource數據綁定到平面表格控件的一起東東。
XmlDataSource控件允許其它控件綁定到XML數據。XmlDataSource支持DataFile屬性,它被用于指定作為輸入(input)的XML數據文件的路徑。你還可以指定TranformFile屬性,給數據應用XSLT轉換;設置XPath屬性來指定需要暴露的數據源節點的子集。
TransformFile="~transXml" XPath="http://User">
表格式數據綁定控件綁定到分層數據源也是可行的,但是它只能顯示第一層數據。在下面的demo中,Repeater控件綁定到 temp.xml文件。由于數據源暴露的頂層節點是節點,Repeater可以在自己的ItemTemplate模板中使用Eval數據綁定語法綁定到這些節點的屬性。
標題姓名:
Email:
除了Eval數據綁定語法之外,ASP.NET 2.0還提供了基于XPath的數據綁定語法,在實現了IXPathNavigable接口的任何數據項上都可以使用它。這里介紹兩種常用的表達式類型:
XPath(expression, [formatString]) - 根據數據項計算Xpath表達式的值,返回單個值。
XPathSelect(expression, [formatString]) - 根據數據項計算Xpath表達式的值,返回節點列表。
下面我們來看看使用Xpath數據綁定方法的優勢,通過一個demo來說明。
Repeater的ItemTemplate模板另外增加了一個Repeater,并把這個內部Repeater的屬性綁定到一個描述當前User節點的 Reply子節點的XPathSelect表達式。在內部Repeater的ItemTemplate模板中,Xpath數據綁定表達式根據這些"Reply"內容節點來計算值。ASP.NET 2.0利用這種技術,使你能夠通過組合表格式數據綁定控件簡便地構造出豐富的、分層的數據顯示方式。
標題ID:
姓名:
Email:
Content:
留言ReplyID:
Time:
Content:
【編輯推薦】