Formularios web ASP.NET: objeto Hashtable
Esta sección describe el proceso de uso del objeto ASP.NETHashtable para vincular datos.
Un objeto Hashtable contiene elementos representados por pares clave/valor.
Botón de radio HashtableLista 1
Botón de radio Hashtable Lista 2
Lista desplegable de tabla hash
Un objeto Hashtable contiene elementos representados por pares clave/valor. La clave se utiliza como índice y, al buscar la clave, se puede lograr una búsqueda rápida del valor.
Agregue elementos a Hashtable mediante el método Add().
El siguiente código crea un objeto Hashtable llamado mycountries y agrega cuatro elementos:
<script runat="server">Sub Page_Loadif Not Page.IsPostBack thendim mycountries=New Hashtablemycountries.Add("N","Noruega")mispaíses.Add("S","Suecia")mispaíses.Add("F", "Francia")mispaíses.Add("I","Italia")end ifend sub</script>
Los objetos Hashtable generan automáticamente texto y valores para los siguientes controles:
asp: lista de botones de radio
asp: lista de casillas de verificación
asp: lista desplegable
asp: cuadro de lista
Para vincular datos al control RadioButtonList, primero cree un control RadioButtonList en la página .aspx (sin ningún elemento asp:ListItem):
<html><cuerpo><form runat="servidor"><asp:RadioButtonList id="rb" runat="servidor" AutoPostBack="True" /></form></body></html>
Luego agregue el script que crea la lista y vincule los valores de la lista al control RadioButtonList:
<script runat="servidor">sub Page_Loadif No Page.IsPostBack thendim mycountries=Nuevo Hashtablemispaíses.Add("N","Noruega")mispaíses.Add("S","Suecia")mispaíses.Add("F","Francia")mispaíses.Add("I","Italia")rb. DataSource=mispaísesrb.DataValueField="Clave"rb.DataTextField="Valor"rb.DataBind()end ifend sub</script><html><body><form runat="servidor"><asp:RadioButtonList id="rb" runat="servidor" AutoPostBack="True" /></form></body></ HTML>
Luego agregamos una subrutina que se ejecutará cuando el usuario haga clic en un elemento en el control RadioButtonList. Cuando se hace clic en un botón de opción, aparecerá una línea de texto en la etiqueta:
<script runat="servidor">sub Page_Loadif No Page.IsPostBack thendim mycountries=Nuevo Hashtablemispaíses.Add("N","Noruega")mispaíses.Add("S","Suecia")mispaíses.Add("F","Francia")mispaíses.Add("I","Italia")rb. DataSource=mispaísesrb.DataValueField="Key"rb.DataTextField="Value"rb.DataBind()end ifend subsub displayMessage(s as Object,e As EventArgs)lbl1.text="Su país favorito es: " & rb.SelectedItem.Textend sub</script><html><body><form runat="server"><asp:RadioButtonList id=" rb" runat="servidor"AutoPostBack="True" onSelectedIndexChanged="displayMessage" /><p><asp:label id="lbl1" runat="servidor" /></p></form></body></html>
Nota: No puede elegir cómo se ordenan los elementos agregados a una Hashtable. Para ordenar elementos alfabética o numéricamente, utilice un objeto SortedList.