Você está offline; aguardando reconexão

A propriedade Attributes de um controle ListItem só funciona em um controle 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 309338
Sintomas
Quando você usa o controle RadioButton ou DropDownList , se você tentar colocar um par chave-valor no controle ListItem , os pares de chave-valor não são gravados para a página de resultado.

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");				
Retorna somente o seguinte resultado:
<input id="RadioButtonList1_0" type="radio" name="RadioButtonList1" value="v1" /><label for="RadioButtonList1_0">1</label>				
da mesma forma, a seguinte DropDownList código
<asp:DropDownList id="DropDownList1" runat="server">	<asp:ListItem Value="v1" Key="k1">1</asp:ListItem></asp:DropDownList>				
retorna apenas a seguinte saída:
<option value=v1>1</option>				
O "chave = k1" não é processado.
Causa
O controle ListItem tem uma propriedade atributos de tipo AttributeCollection . Quando o controle ListItem está dentro de um controle RadioButtonList ou um controle DropDownList , pares de chave-valor que você atribui à propriedade de controle ListItem atributos (por meio de programação ou declarativamente) não são processados.
Resolução
Para contornar esse problema no controle RadioButtonList , use um grupo de controles HtmlInputRadioButton . Por exemplo:
<input id="Radio01" type="radio" name="group1" Key="k1" runat="server" >				
para solucionar esse problema no controle DropDownList , use o controle HtmlSelect . Por exemplo:
<select runat="server">	<option value="v1" id="ID1" key="k1">1</option></select>				
Situação
Esse comportamento é por design.
Mais Informações
Na seção "Resolução" deste artigo, o controle HtmlSelect era usado para mostrar como implementar expando atributos como uma solução alternativa para usar o controle DropDownList . Embora ambas as classes fazer uso de ListItem classe internamente, eles oferecem suporte expando atributos diferente. O controle HtmlSelect dá suporte usando atributos expando porque seu modelo de programação é mais centrada em HTML. No entanto, é mais atrativo que processar apenas os atributos próprios suporte expando atributos com o controle DropDownList . Por exemplo, você não pode usar vinculação de dados para oferecer suporte a atributos com o controle 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