ASP.NET - Oggetto Hashtable
- Pagina precedente ArrayList WebForms
- Pagina successiva SortedList WebForms
L'oggetto Hashtable contiene elementi rappresentati da coppie di chiave/valore.
Creazione di Hashtable
L'oggetto Hashtable contiene elementi rappresentati da coppie di chiave/valore. La chiave viene utilizzata come indice, e attraverso la ricerca della chiave, è possibile effettuare una ricerca veloce sui valori.
Aggiungi elementi all'Hashtable tramite il metodo Add().
Il codice seguente crea un oggetto Hashtable chiamato mycountries e aggiunge quattro elementi:
<script runat="server"> Sub Page_Load if Not Page.IsPostBack then dim mycountries=New Hashtable mycountries.Add("C","Cina") mycountries.Add("S","Svezia") mycountries.Add("F","Francia") mycountries.Add("I","Italia") fine if fine sub </script>
Binding dei dati
L'oggetto Hashtable può generare automaticamente testo e valore per i seguenti controlli:
- asp:RadioButtonList
- asp:CheckBoxList
- asp:DropDownList
- asp:Listbox
Per vincolare i dati a un controllo RadioButtonList, prima di tutto crea un controllo RadioButtonList in una pagina .aspx (senza alcun elemento asp:ListItem)
<html> <body> <form runat="server"> <asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" /> </form> </body> </html>
Poi aggiungiamo lo script per costruire l'elenco:
<script runat="server"> sub Page_Load if Not Page.IsPostBack then dim mycountries=New Hashtable mycountries.Add("C","Cina") mycountries.Add("S","Svezia") mycountries.Add("F","Francia") mycountries.Add("I","Italia") rb.DataSource=mycountries rb.DataValueField="Key" rb.DataTextField="Value" rb.DataBind() fine if fine sub </script> <html> <body> <form runat="server"> <asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" /> </form> </body> </html>
Poi aggiungiamo una subroutine, che viene eseguita quando l'utente clicca su un elemento di un controllo RadioButtonList. Quando un pulsante radio viene cliccato, una stringa di testo appare nel label:
<script runat="server"> sub Page_Load if Not Page.IsPostBack then dim mycountries=New Hashtable mycountries.Add("C","Cina") mycountries.Add("S","Svezia") mycountries.Add("F","Francia") mycountries.Add("I","Italia") rb.DataSource=mycountries rb.DataValueField="Key" rb.DataTextField="Value" rb.DataBind() fine if fine sub sub displayMessage(s as Object,e As EventArgs) lbl1.text="La tua nazione preferita è: " & rb.SelectedItem.Text fine 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>
Nota:Non è possibile selezionare il metodo di ordinamento dei progetti da aggiungere a Hashtable. Per ordinare i progetti in ordine alfabetico o numerico, utilizzare l'oggetto SortedList.
- Pagina precedente ArrayList WebForms
- Pagina successiva SortedList WebForms