ASP.NET - Объект Hashtable
- Предыдущая страница ArrayList WebForms
- Следующая страница SortedList WebForms
Объект Hashtable содержит элементы, представленные в виде пар ключ/значение.
Создание объекта Hashtable
Объект Hashtable содержит элементы, представленные в виде пар ключ/значение. Ключ используется в качестве индекса, и через поиск ключа можно быстро найти значение.
Элементы добавляются в Hashtable с помощью метода Add().
Ниже приведен код, создающий объект Hashtable под названием mycountries и добавляющий в него четыре элемента:
<script runat="server"> Sub Page_Load if Not Page.IsPostBack then dim mycountries=New Hashtable mycountries.Add("C","China") mycountries.Add("S","Sweden") mycountries.Add("F","France") mycountries.Add("I","Italy") end if end sub </script>
Привязка данных
Объект Hashtable может автоматически генерировать текст и значения для следующих контролей:
- asp:RadioButtonList
- asp:CheckBoxList
- asp:DropDownList
- asp:Listbox
Чтобы привязать данные к RadioButtonList控件, сначала создайте RadioButtonList в .aspx странице (без элементов asp:ListItem)
<html> <body> <form runat="server"> <asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" /> </form> </body> </html>
Затем добавляем скрипт для создания списка:
<script runat="server"> sub Page_Load if Not Page.IsPostBack then dim mycountries=New Hashtable mycountries.Add("C","China") mycountries.Add("S","Sweden") mycountries.Add("F","France") mycountries.Add("I","Italy") rb.DataSource=mycountries rb.DataValueField="Key" rb.DataTextField="Value" rb.DataBind() end if end sub </script> <html> <body> <form runat="server"> <asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" /> </form> </body> </html>
Затем мы добавляем подпроцедуру, которая будет выполняться при нажатии на любую позицию в RadioButtonList控件.
<script runat="server"> sub Page_Load if Not Page.IsPostBack then dim mycountries=New Hashtable mycountries.Add("C","China") mycountries.Add("S","Sweden") mycountries.Add("F","France") mycountries.Add("I","Italy") rb.DataSource=mycountries rb.DataValueField="Key" rb.DataTextField="Value" 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> <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>
Комментарий:Вы не можете выбрать способ сортировки элементов, добавляемых вHashtable. Для сортировки элементов по алфавиту или числовому порядку используйте объект SortedList.
- Предыдущая страница ArrayList WebForms
- Следующая страница SortedList WebForms