ASP.NET - Obiekt Hashtable
- Poprzednia strona WebForms ArrayList
- Następna strona WebForms SortedList
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>
Komentarz:Nie możesz wybrać metody sortowania elementów do dodania do Hashtable. Aby posortować elementy alfabetycznie lub cyfrowo, użyj obiektu SortedList.
- Poprzednia strona WebForms ArrayList
- Następna strona WebForms SortedList