2010-06-14 13 views
2

Je travaille sur pour créer un contrôle personnalisé hérité par le contrôle CheckboxList. Nous pouvons ajouter des éléments de l'éditeur de collection ListItem au moment du design. Dans cet éditeur ListItem Collection il y a 4 propriétés
1) Activé
2) Sélectionné
3) Texte
4) valeur

J'ai vraiment besoin d'ajouter de nouvelles propriétés telles que "ImageURL" et "IsClear". Avez-vous des idées/méthodes ou de la magie pour ajouter ces propriétés.Vous souhaitez ajouter de nouvelles dépendances dans la collection ListItem

Je besoin d'un avis d'expert de StackOverFlow.com

Merci

Répondre

1

Vous pouvez créer une classe qui hérite de ListItem pour ajouter les propriétés. Mais hériter de CheckBoxList utiliserait le type de base ListItem ... Vous pourriez essayer d'observer la collection Items pour utiliser votre type personnalisé, bien que je ne sache pas que cela fonctionnera de la même manière ... cela dépend où vous devez utiliser ces nouveaux propriétés de l'élément de liste.

HTH.

+0

Merci pour votre réponse rapide – Kamlesh

+0

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listitem%28v=vs.110%29.aspx "Cette classe ne peut pas être hérité." –

+0

Merci. Vous pouvez créer votre propre classe avec sa propre collection d'éléments, et cela fonctionnera aussi. Juste plus de travail. –

0

Avez-vous envisagé de créer un contrôle utilisateur? Vous pouvez définir des membres publics dans le code derrière qui sera alors accessible lorsque vous définirez le contrôle sur votre page aspx.

Votre page ASPX aurait quelque chose comme ceci:

<%@ Register Assembly="MyCustomControls" Namespace="MyCustomControls" TagPrefix="cust" %> 
... 
<cust:MyCheckBoxList ID="cbl" runat="server" imageURL="http://blah.com/1.jpg" isClear="false /> 
0

La classe ListItem a la propriété Attributes. Utilise le. Vous y trouverez tous les attributs supplémentaires spécifiés pour asp:listitem dans le balisage qui ne sont pas mappés aux propriétés.