ASP.NET Web Forms — объект Hashtable
Объект Hashtable содержит элементы, представленные парами ключ/значение.
Попробуйте сами - Пример
Hashtable RadiobuttonList 1
Hashtable RadiobuttonList 2
Hashtable DropDownList
Создание Hashtable
Объект Hashtable содержит элементы, представленные парами ключ/значение. Ключ используется как индекс, и путём поиска по ключу можно быстро найти значения.
Используйте метод Add() для добавления элементов в Hashtable.
Следующий код создаёт объект Hashtable с именем mycountries и добавляет четыре элемента:
Sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New Hashtable
mycountries.Add("N","Norway")
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 (без каких-либо элементов asp:ListItem) на странице .aspx:
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
</form>
</body>
</html>
Затем добавьте скрипт, который создаёт список, и привяжите значения в списке к элементу управления RadioButtonList:
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New Hashtable
mycountries.Add("N","Norway")
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. Когда радиокнопка нажата, в метке появляется строка текста:
Пример
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New Hashtable
mycountries.Add("N","Norway")
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="Ваша любимая страна: " & 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.
Другие расширения