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

Traduções de Artigos Traduções de Artigos
Artigo: 309338 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

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 .

Propriedades

Artigo: 309338 - Última revisão: 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 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

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