Formulários Web ASP.NET - objeto Hashtable
Esta seção descreve o processo de uso do objeto ASP.NETHashtable para vincular dados.
Um objeto Hashtable contém itens representados por pares chave/valor.
Lista de botões de opção de tabela de hash 1
Lista de botões de opção de tabela de hash 2
Lista suspensa de tabela de hash
Um objeto Hashtable contém itens representados por pares chave/valor. A chave é usada como índice e, ao pesquisar a chave, pode-se obter uma pesquisa rápida do valor.
Adicione itens ao Hashtable através do método Add().
O código a seguir cria um objeto Hashtable chamado mycountries e adiciona quatro elementos:
<script runat="server">Sub Page_Loadif Não Page.IsPostBack thendim mycountries=Novo Hashtablemycountries.Add("N","Noruega")mycountries.Add("S","Suécia")mycountries.Add("F", "França")meuspaíses.Add("I","Itália")end ifend sub</script>
Objetos hashtable geram automaticamente texto e valores para os seguintes controles:
asp:RadioButtonList
asp:CheckBoxList
asp: lista suspensa
asp: caixa de listagem
Para vincular dados ao controle RadioButtonList, primeiro crie um controle RadioButtonList em uma página .aspx (sem nenhum elemento asp:ListItem):
<html><body><form runat="server"><asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" /></form></body></html>
Em seguida, adicione o script que cria a lista e vincule os valores da lista ao controle RadioButtonList:
<script runat="server">sub Page_Loadif Não Page.IsPostBack thendim mycountries=Novo Hashtablemeuspaíses.Add("N","Noruega")meuspaíses.Add("S","Suécia")meuspaíses.Add("F","França")meuspaíses.Add("I","Itália")rb. DataSource=meuspaísesrb.DataValueField="Key"rb.DataTextField="Value"rb.DataBind()end ifend sub</script><html><body><form runat="server"><asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" /></form></body></ HTML>
Em seguida adicionamos uma sub-rotina que será executada quando o usuário clicar em um item do controle RadioButtonList. Quando um botão de opção é clicado, uma linha de texto aparecerá no rótulo:
<script runat="server">sub Page_Loadif Não Page.IsPostBack thendim mycountries=Novo Hashtablemeuspaíses.Add("N","Noruega")meuspaíses.Add("S","Suécia")meuspaíses.Add("F","França")meuspaíses.Add("I","Itália")rb. DataSource=mycountriesrb.DataValueField="Key"rb.DataTextField="Value"rb.DataBind()end ifend subsub displayMessage(s) as Object,e As EventArgs)lbl1.text="Seu país favorito é: " & rb.SelectedItem.Textend 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: Você não pode escolher como os itens adicionados a uma Hashtable serão classificados. Para classificar itens em ordem alfabética ou numérica, use um objeto SortedList.