2009-05-17 7 views
2

J'essaie de créer un contrôle personnalisé qui hérite de DropDownList.Extension de ASP.NET DropDownList

Ce dont j'ai besoin est d'ajouter une nouvelle propriété à un ListItem (dans la collection d'articles).

<cc1:MyDropDownList ID="MyDropDownList1" runat="server"> 
    <asp:ListItem myProperty="true" text="sometext" ... />      

</cc1: MyDropDownList>  

Comment puis-je faire cela?

+0

Pouvez-vous expliquer pourquoi vous avez besoin de créer une version control3 personnalisée? – bendewey

+0

oui, je l'ai fait dans un commentaire à David Robbins. – markiz

Répondre

3

Même si vous héritez de DropDownList, vous ne pouvez pas ajouter cette propriété car vous devez l'ajouter au contrôle ListItem.
Mais le problème est que la classe ListItem est scellée de sorte que vous ne pouvez pas en hériter.

+0

Oui, je sais que c'est scellé ... Mais que puis-je faire? Une solution de contournement? – markiz

0

Pouvez-vous étendre les fonctionnalités côté client avec jQuery?

+0

Eh bien, je ne suis pas familier avec JQuery :( – markiz

+0

J'ai besoin de cette propriété pour "signaler" RenderContents pour rendre l'élément spécifique d'une manière spécifique Bien sûr, je peux le faire en passant cet indicateur dans la propriété Text, mais ce n'est pas propre. – markiz

+0

Sans voir, je peux offrir une suggestion limitée de créer une structure pour contenir vos données - valeur, description, texte variable - et le transmettre au client Créer une fonction javascript qui répond au clic, reçoit la valeur, effectue une Si vous avez besoin de poster, mettez à jour un champ caché avec le "drapeau" et lisez-le sur le serveur –

Questions connexes