ASP.NET - Hashtable-objekti
- Edellinen sivu WebForms ArrayList
- Seuraava sivu WebForms SortedList
Hashtable-objekti sisältää avain-arvo-pareja edustettuna.
Luo Hashtable
Hashtable-objekti sisältää avain-arvo-pareja edustettuna. Avain toimii indeksinä, ja arvojen nopea hakeminen voidaan suorittaa etsimällä sen avainta.
Lisää projektit Add()-metodilla.
Seuraava koodi luo nimeltään mycountries Hashtable ja lisää neljä elementtiä:
<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>
Data-binding
Hashtable-objekti voi automaattisesti luoda tekstin ja arvon seuraaville kontrollille:
- asp:RadioButtonList
- asp:CheckBoxList
- asp:DropDownList
- asp:Listbox
Jos haluat sitoa dataa RadioButtonList -kontrolliin, luo ensin RadioButtonList -kontrolli .aspx -sivulla (ei ole minkään asp:ListItem -elementtiä)
<html> <body> <form runat="server"> <asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" /> </form> </body> </html>
Lisää sitten luettelojen rakentamiseen käytettävä skripti:
<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>
Sitten lisäämme aliproseduurin, joka suoritetaan, kun käyttäjä napsauttaa RadioButtonList -kontrollin tiettyä kohtaa. Kun valintanappi napsautetaan, labelissa näkyy teksti:
<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>
Huomautus:Et voi valita lisättävien kohteiden järjestystä Hashtableiin. Jos haluat järjestää kohteet kirjain- tai numerollisesti, käytä SortedList-objektia.
- Edellinen sivu WebForms ArrayList
- Seuraava sivu WebForms SortedList