ASP.NET - Hashtable-objekt
- Forrige side WebForms ArrayList
- Næste side WebForms SortedList
Hashtable-objektet indeholder projekter repræsenteret ved nøgle/værdi par.
Oprette en Hashtable
Hashtable-objektet indeholder projekter repræsenteret ved nøgle/værdi par. Nøglen bruges som indeks, og værdier kan hurtigt søges ved at søge efter nøglen.
Tilføj projekter gennem Add() metoden.
Følgende kode opretter en Hashtable ved navn mycountries og tilføjer fire elementer:
<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>
Databinding
Hashtable-objektet kan automatisk generere tekst og værdier for følgende kontroller:
- asp:RadioButtonList
- asp:CheckBoxList
- asp:DropDownList
- asp:Listbox
For at binde data til en RadioButtonList-kontrol skal du først oprette en RadioButtonList-kontrol i en .aspx-side (uden nogen asp:ListItem-elementer)
<html> <body> <form runat="server"> <asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" /> </form> </body> </html>
Tilføj derefter skriptet til at opbygge listen:
<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>
Så tilføjer vi en underprocedur, der udføres, når brugeren klikker på et element i RadioButtonList-kontrollen. Når en af de enkelte radio knapper klikkes, vises en tekst i label'en:
<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="Your favorite country is: " & 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>
Bemærk:Du kan ikke vælge sorteringsmetoden for de elementer, du vil tilføje til Hashtable. Hvis du vil sortere elementerne alfabetisk eller numerisk, skal du bruge SortedList-objektet.
- Forrige side WebForms ArrayList
- Næste side WebForms SortedList