A propriedade de atributos de um controlo ListItem funciona apenas dentro de um controlo HtmlSelect

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 309338
Sintomas
Quando utiliza o controlo de tipo ' botão de opção ' ou DropDownList , se tentar colocar um par chave-valor no controlo ListItem , pares chave-valor não são escritos para a página de resultados.

Por exemplo, a seguinte RadioButtonList código
<asp:RadioButtonList id="RadioButtonList1" runat="server">	<asp:ListItem Value="v1" Key="k1">1</asp:ListItem>	</asp:RadioButtonList>				
- ou -
RadioButtonList1.Items[0].Attributes.Add("key", "k1");				
Devolve apenas o seguinte resultado:
<input id="RadioButtonList1_0" type="radio" name="RadioButtonList1" value="v1" /><label for="RadioButtonList1_0">1</label>				
do mesmo modo, o seguinte DropDownList código
<asp:DropDownList id="DropDownList1" runat="server">	<asp:ListItem Value="v1" Key="k1">1</asp:ListItem></asp:DropDownList>				
só devolve a seguinte saída:
<option value=v1>1</option>				
A "chave = k1" não é apresentado.
Causa
O controlo ListItem tem uma propriedade de atributos do tipo AttributeCollection . Quando o controlo ListItem está dentro de um controlo RadioButtonList ou um controlo DropDownList , pares chave-valor que atribuir à propriedade atributos do controlo ListItem (através de programação ou forma declarativa) não são processadas.
Resolução
Para contornar este problema no controlo RadioButtonList , utilize um grupo de controlos HtmlInputRadioButton . Por exemplo:
<input id="Radio01" type="radio" name="group1" Key="k1" runat="server" >				
para contornar este problema no controlo DropDownList , utilize o controlo HtmlSelect . Por exemplo:
<select runat="server">	<option value="v1" id="ID1" key="k1">1</option></select>				
Ponto Da Situação
Este comportamento ocorre por predefinição.
Mais Informação
Na secção "Resolução" deste artigo, o controlo HtmlSelect foi utilizado para mostrar como implementar expando atributos como uma solução para utilizar o controlo DropDownList . Durante ambas as classes efectuar utiliza ListItem classe internamente, suportam expando atributos diferentes. O controlo HtmlSelect suporta utilizar atributos expando, dado que o modelo de programação é mais HTML centrada. No entanto, suporte expando atributos com o controlo DropDownList é mais envolvido do que apenas os atributos próprios de composição. Por exemplo, pode utilizar a ligação de dados para suportar os atributos com o controlo DropDownList .
kbreadme

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 309338 - Última Revisão: 01/26/2004 22:44:51 - Revisão: 3.3

Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1

  • kbmt kbprb kbreadme kbservercontrols KB309338 KbMtpt
Comentários