A propriedade Attributes de um controle ListItem só funciona em um controle HtmlSelect

Traduções deste artigo Traduções deste artigo
ID do artigo: 309338 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

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 .

Propriedades

ID do artigo: 309338 - Última revisão: segunda-feira, 26 de janeiro de 2004 - Revisão: 3.3
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Palavras-chave: 
kbmt kbprb kbreadme kbservercontrols KB309338 KbMtpt
Tradução automática
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

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com