ASP.NET - Объект ArrayList

Объект ArrayList является集合ом элементов, содержащих единичное значение.

Пример

ArrayList DropDownList

ArrayList RadioButtonList

Создание ArrayList

Объект ArrayList является集合ом элементов, содержащих единичное значение.

Элементы добавляются в ArrayList с помощью метода Add():

Ниже приведен код, который создает новый объект ArrayList под названием mycountries и добавляет в него четыре элемента:

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New ArrayList
  mycountries.Add("China")
  mycountries.Add("Sweden")
  mycountries.Add("France")
  mycountries.Add("Italy")
end if
end sub
</script>

По умолчанию, объект ArrayList содержит 16 элементов. Вы можете уменьшить размер ArrayList до конечного размера с помощью метода TrimToSize():

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New ArrayList
  mycountries.Add("China")
  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("China")
  mycountries.Add("Sweden")
  mycountries.Add("France")
  mycountries.Add("Italy")
  mycountries.TrimToSize()
  mycountries.Sort()
end if
end sub
</script>

Чтобы реализовать обратный порядок сортировки, примените метод Reverse() после Sort():

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New ArrayList
  mycountries.Add("China")
  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, сначала создайте контрол RadioButtonList на странице .aspx (обратите внимание, что нет هیچ элемента 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("China")
  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>

Показать этот пример

Атрибут DataSource контрола RadioButtonList установлен в этот ArrayList, который определяет источник данных для контрола RadioButtonList. Метод DataBind() контрола RadioButtonList绑定 его с источником данных.

Комментарий:Значения данных используются в качестве свойств Text и Value контрола. Чтобы добавить Value, отличное от Text, можно использовать объект Hashtable или SortedList.