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