熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

使用XML為列表控件綁定數據[2]

2013-11-13 11:03:29  來源: .NET編程 

  讓我們看看另外一個例子在ASPNET中用 ArrayList  對象綁定數據這個 ArrayList 跟VB中的數組有點相似但是它功能更強它能支持更多復雜的數據類型ArrayList d實際上是一個集合所以我們可以把它作為一個集合添加一個新項我們調用 Add 方法並提供對象去 Add在這種情況下它是一個字符串

<script runat=server>
Sub Page_Load(src as Object e as EventArgs)
Dim arrPizzaTopping as new ArrayList()
arrPizzaToppingAdd(Supreme)
arrPizzaToppingAdd(Italian Classic)
arrPizzaToppingAdd(Meat Lover)
lstPizzaToppingDataSource = arrPizzaTopping
lstPizzaToppingDataBind()
End Sub
</script>


<asp:listbox rows= id=lstPizzaTopping runat=server />

  數據綁定是把腳本跟用戶界面分離開來的一個例子(比如HTML代碼)但是像我們上面提到的數據綁定技術我們只能綁定靜態數據(這些數據應該被硬編碼進我們的aspx 文件) 如果數據是動態將會怎麼樣?如果我們想在其他頁面重用列表框又會怎麼樣?為了解決這些問題我們需要依賴於額外的數據源典型的我們使用數據庫把列表框中的內容存儲在表中有很多文章以及討論了這種技術舉例來說你可以查閱Scott Mitchell 關於用Access數據庫為列表控件綁定數據的文章

  關於數據庫的講了很多現在我們試著使用一下另一種方法——XML文件XML文件是一個純文本文件所以你可以很容易地用記事本創建和編輯它下面的代碼塊是包含提供給列表框控件數據的XML文件的一個例子它有兩個部分這由注釋很清晰地標識出來第一部分包含了關於pizza toppings的列表第二部分包含了關於pizza crust的列表每一部分有多個條目在每一條目中又有 <value> 和 <desc> 兩個元素請記住這個XML文件只是一個例子你能定義你自己的元素和內容好像你已經餓了但是別抱怨我無論如何pizza 和編程是非常匹配的

<?xml version= standalone=yes ?>
<lookup>
<! START OF: Topping >

<topping>
<value>supreme</value>
<desc>Supreme</desc>
</topping>

<topping>
<value>italianclassic</value>
<desc>Italian Classic</desc>
</topping>

<topping>
<value>meatlover</value>
<desc>Meat Lover</desc>
</topping>

<! END OF: Topping >
<! START OF: Crust >

<crust>
<value>original</value>
<desc>Original Crust</desc>
</crust>

<crust>
<value>handstretched</value>
<desc>HandStretched Crust</desc>
</crust>

<crust>
<value>pan</value>
<desc>Pan Crust</desc>
</crust>

<! END OF: Crust >
</lookup>

  現在開始變魔術了在這個XML文件中沒有什麼特別的除非你把它加載到ADONET的DataSet中ADONET 強有力地支持XML它可以在XML文件上建立一個關系信息舉各例子提供前面提到的那個XML文件ADONET將自動創建一個名為lookup的DataSet它包含兩張表tooping和crust表tooping有兩列(value和desc)三行同樣的表crust也有(value和desc)三行ADONET是通過模式來讀和構造這些表的下面的圖形象的表示了DataSet  和它的 DataTable

[]  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/15078.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.