La propiedad Attributes de un control de ListItem sólo funciona dentro de un control HtmlSelect

Seleccione idioma Seleccione idioma
Id. de artículo: 309338 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Síntomas

Cuando se utiliza el control RadioButton o DropDownList , si intenta colocar un par clave-valor en el control de ListItem , los pares de clave y valor no se escriben en la página de resultados.

Por ejemplo, la siguiente RadioButtonList código
<asp:RadioButtonList id="RadioButtonList1" runat="server">
	<asp:ListItem Value="v1" Key="k1">1</asp:ListItem>	
</asp:RadioButtonList>
				
-o bien -
RadioButtonList1.Items[0].Attributes.Add("key", "k1");
				
sólo devuelve el siguiente resultado:
<input id="RadioButtonList1_0" type="radio" name="RadioButtonList1" value="v1" />
<label for="RadioButtonList1_0">1</label>
				
igual modo, la siguiente DropDownList código
<asp:DropDownList id="DropDownList1" runat="server">
	<asp:ListItem Value="v1" Key="k1">1</asp:ListItem>
</asp:DropDownList>
				
sólo devuelve el siguiente resultado:
<option value=v1>1</option>
				
la "clave = k1" no se procesa.

Causa

El control de ListItem tiene una propiedad de atributos de tipo AttributeCollection . Cuando el control de ListItem está dentro de un control RadioButtonList o un control DropDownList , no se representan pares de clave-valor que asigne a la propiedad Attributes del control ListItem (mediante programación o mediante declaración).

Solución

Para evitar este problema en el control RadioButtonList , utilice un grupo de controles HtmlInputRadioButton . Por ejemplo:
<input id="Radio01" type="radio" name="group1" Key="k1" runat="server" >
				
para evitar este problema en el control DropDownList , utilice el control HtmlSelect . Por ejemplo:
<select runat="server">
	<option value="v1" id="ID1" key="k1">1</option>
</select>
				

Estado

Este comportamiento es por diseño.

Más información

En la sección "Solución" de este artículo, se utilizaba el control HtmlSelect que muestran cómo implementar expando atributos como una solución para utilizar el control DropDownList . Mientras ambas clases que utilice el ListItem clase internamente, admiten atributos expando diferente. El control HtmlSelect admite mediante atributos de expando porque su modelo de programación está más centrado en HTML. Sin embargo, admitir expando atributos con el control DropDownList es más complicado que procesar sólo los atributos propios. Por ejemplo, no puede utilizar enlace de datos para admitir atributos con el control DropDownList .

Propiedades

Id. de artículo: 309338 - Última revisión: lunes, 26 de enero de 2004 - Versión: 3.3
La información de este artículo se refiere a:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Palabras clave: 
kbmt kbprb kbreadme kbservercontrols KB309338 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 309338

Enviar comentarios

 

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