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

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

2022-06-13   來源: .NET編程 

  了解使用XML為列表控件綁定數據的各種不同的方法

  介紹

  在web開發項目中我們需要經常寫一些代碼從數據源讀取動態數據到列表控件中在經典ASP時期這是一件相對比較困難的任務例如我們必須查詢數據庫找回 RecordSet 並且在手動創建HTML標簽時還要重述RecordSet

  現在在ASPNET中你做同樣的事情有了更好的辦法此外除了用數據庫作為數據源你還可以使用各種數據源比如XML文件哪一個更好呢?這會在性能適應性可靠性易配置性安全等方面引起爭論在這裡我不想討論這些

  這篇文章討論了幾種可選擇的辦法了解使用XML為列表控件綁定數據的各種不同的方法盡管我們使用ListBox  作為例子但你可以很容易地把這種技術擴展到其他從 SystemWebUIWebControlsListControl 類繼承而來的列表控件它們包括CheckBoxList DropDownList 和 RadioButtonList

  硬編碼列表框

  作為開始讓我們回憶一下通常我們是怎樣用HTML定義一個列表框 (ListBox)的下面展示了一個列表框的原始代碼這是最簡單的方法且費用最少但是缺少一些彈性來控制列表框的行為

<select size= id=lstPizzaTopping>
<option value=supreme>Supreme</option>
<option value=italianclassic>Italian Classic</option>
<option value=meatlover>Meat Lover</option>
</select>

  在ASPNET中你可以使用列表框得到同樣的結果但是具有更多性能來控制它的行為和屬性

<asp:listbox rows= id=lstPizzaTopping runat=server>
<asp:listitem value=supreme>Supreme</asp:listitem>
<asp:listitem value=italianclassic>Italian Classic</asp:listitem>
<asp:listitem value=meatlover>Meat Lover</asp:listitem>
</asp:listbox>

  讓我們在代碼中使用一點手法除了在列表框中硬編碼進去一些項你可以使用ListItem 對象生成一些項添加到列表框控件中ListItem 有兩個參數項的文字以及值如果你沒指定第二個參數那項的值將跟它的文字一樣下面的代碼演示了該怎麼做

<script runat=server>
Sub Page_Load(src as Object e as EventArgs)
lstPizzaToppingItemsAdd(new ListItem(Supreme supreme))
lstPizzaToppingItemsAdd(new ListItem(Italian Classic italianclassic))
lstPizzaToppingItemsAdd(new ListItem(Meat Lover meatlover))
</script>


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

  列表框綁定數據

  事實上ASPNET允許你把列表框的內容跟對象綁定起來這個對象可以是一個數組一個集合對象一個數據庫甚至是一個XML文件下面的例子演示了怎麼把一個字符串數組綁定到列表框控件上我們將在後面更詳細地探究XML數據的綁定

<script runat=server>
Sub Page_Load(src as Object e as EventArgs)
Dim arrPizzaTopping as String() = _
{ Supreme Italian Classic Meat Lover }
lstPizzaToppingDataSource = arrPizzaTopping
lstPizzaToppingDataBind()
End Sub
</script>


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

  如果我們給數組添加一個新的元素會怎麼樣?列表框會反映出結果嗎?不會的除非你再一次使用 DataBind 方法利用這種數據綁定技術在什麼時候什麼地方更新列表框你擁有完全的控制權

[]  []  []  


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