ASP.NET - Obiekt Hashtable

Obiekt Hashtable zawiera elementy reprezentowane przez pary klucz/wartość.

Tworzenie Hashtable

Obiekt Hashtable zawiera elementy reprezentowane przez pary klucz/wartość. Klucz jest używany jako indeks, przez co można szybko wyszukiwać wartości.

Dodajemy elementy do Hashtable za pomocą metody Add().

Poniższy kod tworzy obiekt Hashtable o nazwie mycountries i dodaje do niego cztery elementy:

<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>

Dystrybucja danych

Obiekt Hashtable automatycznie generuje tekst i wartości dla poniższych kontrolki:

  • asp:RadioButtonList
  • asp:CheckBoxList
  • asp:DropDownList
  • asp:Listbox

Aby przypisać dane do kontrolki RadioButtonList, najpierw utwórz kontrolkę RadioButtonList na stronie .aspx (bez żadnych elementów asp:ListItem)

<html>
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
</form>
</body>
</html>

Następnie dodaj skrypt do tworzenia listy:

<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>

Następnie dodajemy procedurę, która zostanie uruchomiona, gdy użytkownik kliknie na któryś z elementów kontrolki 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="Twoja ulubiona kraj to: " & 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>

Pokazuj ten przykład

Komentarz:Nie możesz wybrać metody sortowania elementów do dodania do Hashtable. Aby posortować elementy alfabetycznie lub cyfrowo, użyj obiektu SortedList.