ASP.NET Web Forms – Hashtable-Objekt
In diesem Abschnitt wird der Prozess der Verwendung des ASP.NETHashtable-Objekts zum Binden von Daten beschrieben.
Ein Hashtable-Objekt enthält Elemente, die durch Schlüssel/Wert-Paare dargestellt werden.
Hashtable RadiobuttonList 1
Hashtable RadiobuttonList 2
Hashtable DropDownList
Ein Hashtable-Objekt enthält Elemente, die durch Schlüssel/Wert-Paare dargestellt werden. Der Schlüssel wird als Index verwendet, und durch die Suche nach dem Schlüssel kann eine schnelle Suche nach dem Wert durchgeführt werden.
Fügen Sie über die Add()-Methode Elemente zur Hashtable hinzu.
Der folgende Code erstellt ein Hashtable-Objekt mit dem Namen mycountries und fügt vier Elemente hinzu:
<script runat="server">Sub Page_Loadif Not Page.IsPostBack thendim mycountries=New Hashtablemycountries.Add("N","Norway")mycountries.Add("S","Sweden")mycountries.Add("F", "Frankreich")mycountries.Add("I","Italien")end ifend sub</script>
Hashtable-Objekte generieren automatisch Text und Werte für die folgenden Steuerelemente:
asp:RadioButtonList
asp:CheckBoxList
asp:DropDownList
asp:Listbox
Um Daten an das RadioButtonList-Steuerelement zu binden, erstellen Sie zunächst ein RadioButtonList-Steuerelement in einer ASPX-Seite (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 hinzu, das die Liste erstellt, und binden Sie die Werte in der Liste an das RadioButtonList-Steuerelement:
<script runat="server">sub Page_Loadif Not Page.IsPostBack thendim mycountries=New Hashtablemycountries.Add("N","Norwegen")mycountries.Add("S","Schweden")mycountries.Add("F", "Frankreich")mycountries.Add("I", "Italien")rb. DataSource=mycountriesrb.DataValueField="Key"rb.DataTextField="Value"rb.DataBind()end ifend sub</script><html><body><form runat="server"><asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" /></form></body></ html>
Dann fügen wir eine Unterroutine hinzu, die ausgeführt wird, wenn der Benutzer auf ein Element im RadioButtonList-Steuerelement klickt. Wenn auf ein Optionsfeld geklickt wird, erscheint eine Textzeile in der Beschriftung:
<script runat="server">sub Page_Loadif Not Page.IsPostBack thendim mycountries=New Hashtablemycountries.Add("N","Norwegen")mycountries.Add("S","Schweden")mycountries.Add("F","Frankreich")mycountries.Add("I", "Italien")rb. DataSource=mycountriesrb.DataValueField="Key"rb.DataTextField="Value"rb.DataBind()end ifend subsub displayMessage(s as Object,e As EventArgs)lbl1.text="Ihr Lieblingsland ist: " & rb.SelectedItem.Textend 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>
Hinweis: Sie können nicht auswählen, wie Elemente, die einer Hashtabelle hinzugefügt werden, sortiert werden. Um Elemente alphabetisch oder numerisch zu sortieren, verwenden Sie ein SortedList-Objekt.