ASP.NET - Hashtable-Objekt
- Vorherige Seite WebForms-ArrayList
- Nächste Seite WebForms-SortedList
Das Hashtable-Objekt enthält Projekte, die durch Schlüssel/Wert-Paare dargestellt werden.
Hashtable erstellen
Das Hashtable-Objekt enthält Projekte, die durch Schlüssel/Wert-Paare dargestellt werden. Der Schlüssel wird als Index verwendet und durch Suchen nach dem Schlüssel kann eine schnelle Suche nach dem Wert durchgeführt werden.
Projekte werden durch den Add()-Methoden in die Hashtable hinzugefügt.
Das folgende Code erstellt eine Hashtable namens mycountries und fügt vier Elemente hinzu:
<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>
Datenbindung
Das Hashtable-Objekt kann automatisch Text und Werte für die folgenden Steuerelemente generieren:
- asp:RadioButtonList
- asp:CheckBoxList
- asp:DropDownList
- asp:Listbox
Um Daten an ein RadioButtonList-Steuerelement zu binden, erstellen Sie bitte zunächst auf einer .aspx-Seite ein RadioButtonList-Steuerelement (ohne asp:ListItem-Elemente)
<html> <body> <form runat="server"> <asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" /> </form> </body> </html>
Fügen Sie dann das Skript zum Aufbau der Liste hinzu:
<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>
Dann fügen wir eine Unterprozedur hinzu, die beim Klicken auf ein Element im RadioButtonList-Steuerelement ausgeführt wird. Wenn ein Radio-Button geklickt wird, erscheint im Label ein Text:
<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="Ihre Lieblingsnation ist: " & 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>
Diese Beispielanzeige anzeigen
Anmerkung:Sie können die Sortierweise der hinzuzufügenden Elemente in den Hashtable nicht auswählen. Um die Elemente alphabetisch oder numerisch zu sortieren, verwenden Sie das SortedList-Objekt.
- Vorherige Seite WebForms-ArrayList
- Nächste Seite WebForms-SortedList