Web Forms - ArrayList 对象
ArrayList 对象是包含单个数据值的项目的集合。
在线实例
ArrayList DropDownList
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <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()
dd.DataSource=mycountries
dd.DataBind()
end if
end sub
sub displayMessage(s as Object ,e As EventArgs)
lbl1.text= "Your favorite country is: " & dd.SelectedItem.Text
end sub
</script>
<!DOCTYPE html>
<html>
<body>
<form runat= "server" >
<asp:DropDownList id= "dd" runat= "server"
AutoPostBack= "True" onSelectedIndexChanged= "displayMessage" />
<p><asp: label id= "lbl1" runat= "server" /></p>
</form>
</body>
</html>
|
ArrayList RadioButtonList
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <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>
|
创建 ArrayList
ArrayList 对象是包含单个数据值的项目的集合。
通过 Add() 方法向 ArrayList 添加项目。
下面的代码创建了一个名为 mycountries 的 ArrayList 对象,并添加了四个项目:
1 | <div><script runat= "server" ><br> Sub Page_Load<br> if Not Page.IsPostBack then<br> dim mycountries=New ArrayList<br> mycountries.Add( "Norway" )<br> mycountries.Add( "Sweden" )<br> mycountries.Add( "France" )<br> mycountries.Add( "Italy" )<br> end if <br> end sub<br> </script></div>
|
在默认情况下,一个 ArrayList 对象包含 16 个条目。可通过 TrimToSize() 方法把 ArrayList 调整为最终尺寸:
1 | <div><script runat= "server" ><br> Sub Page_Load<br> if Not Page.IsPostBack then<br> dim mycountries=New ArrayList<br> mycountries.Add( "Norway" )<br> mycountries.Add( "Sweden" )<br> mycountries.Add( "France" )<br> mycountries.Add( "Italy" )<br> mycountries.TrimToSize()<br> end if <br> end sub<br> </script></div>
|
通过 Sort() 方法,ArrayList 也能够按照字母顺序或者数字顺序进行排序:
1 | <div><script runat= "server" ><br> Sub Page_Load<br> if Not Page.IsPostBack then<br> dim mycountries=New ArrayList<br> mycountries.Add( "Norway" )<br> mycountries.Add( "Sweden" )<br> mycountries.Add( "France" )<br> mycountries.Add( "Italy" )<br> mycountries.TrimToSize()<br> mycountries.Sort()<br> end if <br> end sub<br> </script></div>
|
要实现反向排序,请在 Sort() 方法后应用 Reverse() 方法:
1 | <div><script runat= "server" ><br> Sub Page_Load<br> if Not Page.IsPostBack then<br> dim mycountries=New ArrayList<br> mycountries.Add( "Norway" )<br> mycountries.Add( "Sweden" )<br> mycountries.Add( "France" )<br> mycountries.Add( "Italy" )<br> mycountries.TrimToSize()<br> mycountries.Sort()<br> mycountries.Reverse()<br> end if <br> end sub<br> </script></div>
|
绑定数据到 ArrayList
ArrayList 对象可为下列的控件自动生成文本和值:
- asp:RadioButtonList
- asp:CheckBoxList
- asp:DropDownList
- asp:Listbox
为了绑定数据到 RadioButtonList 控件,首先要在 .aspx 页面中创建一个 RadioButtonList 控件(不带任何 asp:ListItem 元素):
1 | <div><html><br> <body><br><br> <form runat= "server" ><br> <asp:RadioButtonList id= "rb" runat= "server" /><br> </form><br><br> </body><br> </html></div>
|
然后添加创建列表的脚本,并且绑定列表中的值到 RadioButtonList 控件:
实例
1 | <div class = "example_code notranslate" ><script runat= "server" ><br> Sub Page_Load<br> if Not Page.IsPostBack then<br> dim mycountries=New ArrayList<br> mycountries.Add( "Norway" )<br> mycountries.Add( "Sweden" )<br> mycountries.Add( "France" )<br> mycountries.Add( "Italy" )<br> mycountries.TrimToSize()<br> mycountries.Sort()<br> rb.DataSource=mycountries<br> rb.DataBind()<br> end if <br> end sub<br> </script><br><br> <html><br> <body><br><br> <form runat= "server" ><br> <asp:RadioButtonList id= "rb" runat= "server" /><br> </form><br><br> </body><br> </html></div>
|
RadioButtonList 控件的 DataSource 属性被设置为该 ArrayList,它定义了这个 RadioButtonList 控件的数据源。RadioButtonList 控件的 DataBind() 方法把 RadioButtonList 控件与数据源绑定在一起。
注释:数据值作为控件的 Text 和 Value 属性来使用。如需添加不同于 Text 的 Value,请使用 Hashtable 对象或者 SortedList 对象。