企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# ASP.NET Web Forms - ArrayList 对象 ArrayList 对象是包含单个数据值的项目的集合。 ![实例](https://box.kancloud.cn/2015-12-13_566d2e39b7d59.gif) ## 尝试一下 - 实例 [ArrayList DropDownList](/try/showaspx.php?filename=demo_arraylist_drop1) [ArrayList RadioButtonList](/try/showaspx.php?filename=demo_arraylist_radio1) ## 创建 ArrayList ArrayList 对象是包含单个数据值的项目的集合。 通过 Add() 方法向 ArrayList 添加项目。 下面的代码创建了一个名为 mycountries 的 ArrayList 对象,并添加了四个项目: ``` <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") end if end sub </script> ``` 在默认情况下,一个 ArrayList 对象包含 16 个条目。可通过 TrimToSize() 方法把 ArrayList 调整为最终尺寸: ``` <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() end if end sub </script> ``` 通过 Sort() 方法,ArrayList 也能够按照字母顺序或者数字顺序进行排序: ``` <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() end if end sub </script> ``` 要实现反向排序,请在 Sort() 方法后应用 Reverse() 方法: ``` <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() mycountries.Reverse() end if end sub </script> ``` ## 绑定数据到 ArrayList ArrayList 对象可为下列的控件自动生成文本和值: * asp:RadioButtonList * asp:CheckBoxList * asp:DropDownList * asp:Listbox 为了绑定数据到 RadioButtonList 控件,首先要在 .aspx 页面中创建一个 RadioButtonList 控件(不带任何 asp:ListItem 元素): ``` <html> <body> <form runat="server"> <asp:RadioButtonList id="rb" runat="server" /> </form> </body> </html> ``` 然后添加创建列表的脚本,并且绑定列表中的值到 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 </script> <html> <body> <form runat="server"> <asp:RadioButtonList id="rb" runat="server" /> </form> </body> </html> ``` [演示实例 ?](/try/showaspx.php?filename=demo_arraylist_radio1) RadioButtonList 控件的 DataSource 属性被设置为该 ArrayList,它定义了这个 RadioButtonList 控件的数据源。RadioButtonList 控件的 DataBind() 方法把 RadioButtonList 控件与数据源绑定在一起。 **注释:**数据值作为控件的 Text 和 Value 属性来使用。如需添加不同于 Text 的 Value,请使用 Hashtable 对象或者 SortedList 对象。