文字
分享

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 对象。