ASP.NET Web Forms - ArrayList 對象
ArrayList 對象是包含單個數(shù)據(jù)值的項目的集合。
嘗試一下 - 實例
ArrayList DropDownList
ArrayList RadioButtonList
創(chuàng)建 ArrayList
ArrayList 對象是包含單個數(shù)據(jù)值的項目的集合。
通過 Add() 方法向 ArrayList 添加項目。
下面的代碼創(chuàng)建了一個名為 mycountries 的 ArrayList 對象,并添加了四個項目:
Sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New ArrayList
mycountries.Add("Norway")
mycountries.Add("Sweden")
mycountries.Add("France")
mycountries.Add("Italy")
end if
end sub
</script>
在默認情況下,一個 ArrayList 對象包含 16 個條目??赏ㄟ^ TrimToSize() 方法把 ArrayList 調(diào)整為最終尺寸:
Sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New ArrayList
mycountries.Add("Norway")
mycountries.Add("Sweden")
mycountries.Add("France")
mycountries.Add("Italy")
mycountries.TrimToSize()
end if
end sub
</script>
通過 Sort() 方法,ArrayList 也能夠按照字母順序或者數(shù)字順序進行排序:
Sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New ArrayList
mycountries.Add("Norway")
mycountries.Add("Sweden")
mycountries.Add("France")
mycountries.Add("Italy")
mycountries.TrimToSize()
mycountries.Sort()
end if
end sub
</script>
要實現(xiàn)反向排序,請在 Sort() 方法后應(yīng)用 Reverse() 方法:
Sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New ArrayList
mycountries.Add("Norway")
mycountries.Add("Sweden")
mycountries.Add("France")
mycountries.Add("Italy")
mycountries.TrimToSize()
mycountries.Sort()
mycountries.Reverse()
end if
end sub
</script>
綁定數(shù)據(jù)到 ArrayList
ArrayList 對象可為下列的控件自動生成文本和值:
- asp:RadioButtonList
- asp:CheckBoxList
- asp:DropDownList
- asp:Listbox
為了綁定數(shù)據(jù)到 RadioButtonList 控件,首先要在 .aspx 頁面中創(chuàng)建一個 RadioButtonList 控件(不帶任何 asp:ListItem 元素):
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server" />
</form>
</body>
</html>
然后添加創(chuàng)建列表的腳本,并且綁定列表中的值到 RadioButtonList 控件:
實例
<script runat="server"> Sub Page_Load if Not Page.IsPostBack then dim mycountries=New ArrayList mycountries.Add("Norway") mycountries.Add("Sweden") mycountries.Add("France") mycountries.Add("Italy") mycountries.TrimToSize() mycountries.Sort() rb.DataSource=mycountries rb.DataBind() end if end sub sub displayMessage(s as Object,e As EventArgs) lbl1.text="Your favorite country is: " & rb.SelectedItem.Text end sub </script> <!DOCTYPE html> <html> <body> <form runat="server"> <asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" onSelectedIndexChanged="displayMessage" /> <p><asp:label id="lbl1" runat="server" /></p> </form> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
RadioButtonList 控件的 DataSource 屬性被設(shè)置為該 ArrayList,它定義了這個 RadioButtonList 控件的數(shù)據(jù)源。RadioButtonList 控件的 DataBind() 方法把 RadioButtonList 控件與數(shù)據(jù)源綁定在一起。
注釋:數(shù)據(jù)值作為控件的 Text 和 Value 屬性來使用。如需添加不同于 Text 的 Value,請使用 Hashtable 對象或者 SortedList 對象。