Table de hachage des formulaires Web
ASP.NET Web Forms - Objet Hashtable
L'objet Hashtable contient des éléments représentés par des paires clé/valeur.
Essayez-le - Exemple
Hashtable RadiobuttonList 1
Hashtable RadiobuttonList 2
Hashtable DropDownList
Créer une table de hachage
Les objets de table de hachage contiennent des éléments représentés par des paires clé/valeur. La clé est utilisée comme index et en recherchant la clé, une recherche rapide de la valeur peut être réalisée.
Ajoutez des éléments à la table de hachage via la méthode Add().
Le code suivant crée un objet Hashtable nommé mycountries et ajoute quatre éléments :
Sub Page_Load
if Not Page .IsPostBack alors
dim mycountries=Nouvelle table de hachage
mycountries.Add("N","Norvège")
mycountries.Add("S","Suède")
mespays.Add("F","France")
mycountries.Add("I","Italie")
end if
end sub
</script>
liaison de données
Les objets Hashtable peuvent générer automatiquement du texte et des valeurs pour les contrôles suivants :
- asp:RadioButtonList
- asp:CheckBoxList
- asp:DropDownList
- asp:Listbox
Afin de lier des données au contrôle RadioButtonList, créez d'abord un contrôle RadioButtonList dans la page .aspx (sans aucun élément asp:ListItem) :
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
</form>
</body>
</html>
Ajoutez ensuite le script qui crée la liste et liez les valeurs de la liste au contrôle RadioButtonList :
sub Page_Load
si ce n'est pas Page.IsPostBack alors
dim mycountries=Nouvelle table de hachage
mycountries.Add("N","Norvège")
mycountries.Add("S","Suède")
mespays.Add("F","France")
mycountries.Add("I","Italie")
rb.DataSource=mycountries
rb.DataValueField="Clé"
rb.DataTextField="Valeur"
rb.DataBind()
end if
end sub
</script>
<html>
<body>
<form runat ="serveur">
<asp:RadioButtonList id="rb" runat="serveur" AutoPostBack="True" />
</form>
</body>
</html>
Ensuite, nous ajoutons un sous-exemple Ceci Le sous-programme sera exécuté lorsque l'utilisateur clique sur un élément dans le contrôle RadioButtonList. Lorsqu'un bouton radio est cliqué, une ligne de texte apparaîtra dans l'étiquette :
Instance
<script runat="server"> sub Page_Load if Not Page.IsPostBack then dim mycountries=New Hashtable mycountries.Add("N","Norway") 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> <!DOCTYPE html> <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>
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Remarque : Vous ne pouvez pas choisir la façon dont les éléments ajoutés à la table de hachage sont triés. Pour trier les éléments par ordre alphabétique ou numérique, utilisez un objet SortedList.