ASP.NET - Objeto SortedList

O objeto SortedList possui as características dos objetos ArrayList e Hashtable.

Objeto SortedList

O objeto SortedList contém itens representados por pares de chave/valor. O objeto SortedList pode ordenar automaticamente os itens em ordem alfabética ou numérica.

Adicione itens ao SortedList usando o método Add(). O SortedList pode ser ajustado ao tamanho final usando o método TrimToSize().

O código abaixo cria um SortedList chamado mycountries e adiciona quatro elementos:

<script runat="server">
sub Page_Load
se Não Page.IsPostBack então
  dim mycountries=New SortedList
  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 SortedList pode gerar automaticamente texto e valores para os controles abaixo:

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

Para vincular dados ao controle RadioButtonList, primeiro crie um controle RadioButtonList no arquivo aspx (sem elementos asp:ListItem):

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

Então, adicione o script de construção da lista:

<script runat="server">
sub Page_Load
se Não Page.IsPostBack então
  dim mycountries=New SortedList
  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 um item do controle RadioButtonList. Quando o botão de rádio for clicado, o texto aparecerá no label: }}

<script runat="server">
sub Page_Load
se Não Page.IsPostBack então
  dim mycountries=New SortedList
  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