ASP.NET - Objeto Hashtable

O objeto Hashtable contém itens representados por pares chave/valor.

Criar Hashtable

O objeto Hashtable contém itens representados por pares chave/valor. A chave é usada como índice e permite uma busca rápida no valor.

Adiciona itens ao Hashtable usando o método Add().

O código a seguir cria um Hashtable chamado mycountries e adiciona quatro elementos:

<script runat="server">
Sub Page_Load
se Não Page.IsPostBack então
  dim mycountries=New Hashtable
  mycountries.Add("C","China")
  mycountries.Add("S","Suécia")
  mycountries.Add("F","França")
  mycountries.Add("I","Itália")
fim se
fim sub
</script>

Vinculação de dados

O objeto Hashtable pode gerar automaticamente texto e valor para os seguintes controles:

  • asp:RadioButtonList
  • asp:CheckBoxList
  • asp:DropDownList
  • asp:Listbox

Para vincular dados a um controle RadioButtonList, primeiro crie um controle RadioButtonList em uma página .aspx (sem elementos asp:ListItem)

<html>
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
</form>
</body>
</html>

Então adicionamos o script de construção da lista:

<script runat="server">
sub Page_Load
se Não Page.IsPostBack então
  dim mycountries=New Hashtable
  mycountries.Add("C","China")
  mycountries.Add("S","Suécia")
  mycountries.Add("F","França")
  mycountries.Add("I","Itália")
  rb.DataSource=mycountries
  rb.DataValueField="Key"
  rb.DataTextField="Value"
  rb.DataBind()
fim se
fim sub
</script>
<html>
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
</form>
</body>
</html>

Então adicionamos um subrotina, que será executada quando o usuário clicar em algum item do controle RadioButtonList. Quando um botão de rádio for clicado, uma linha de texto aparecerá no label:

<script runat="server">
sub Page_Load
se Não Page.IsPostBack então
  dim mycountries=New Hashtable
  mycountries.Add("C","China")
  mycountries.Add("S","Suécia")
  mycountries.Add("F","França")
  mycountries.Add("I","Itália")
  rb.DataSource=mycountries
  rb.DataValueField="Key"
  rb.DataTextField="Value"
  rb.DataBind()
fim se
fim sub
sub displayMessage(s como Object, e como EventArgs)
lbl1.text="Seu país favorito é: " & rb.SelectedItem.Text
fim 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>

Exibir este exemplo

Notas:Você não pode escolher o método de ordenação dos itens adicionados ao Hashtable. Para ordenar os itens alfabeticamente ou numericamente, use o objeto SortedList.