2009-05-14 5 views
4

Est-il possible que je puisse avoir un contrôle serveurSyntaxe générique de ServerControl?

MyControl<T> 

pour que je puisse enregistrer et utiliser dans une page ASPX comme si

<mc:MyControl<ThingForControlToUse> ID="instanceOfMyControl" runat="server" 

Il est évident que le designer n'aime pas, Y a-t-il d'autres moyens sympas autour de lui que de créer un wrapper non générique avec un paramètre de type?

Répondre

6

noms de balises génériques ne sont pas possibles dans ASP.NET, s'il vous plaît se référer à cet article: Generic Controls

Vous êtes sur la bonne voie en pensant que vous aurez besoin pour créer une enveloppe avec un paramètre de type.

+0

L'idée dans l'article est vraiment assez cool, j'ai mal compris au début, mais après l'avoir implémenté, ça a bien marché. Merci beaucoup. –

0

Une note rapide - Je ne suis pas sûr que cela soit vrai dans Visual Studio 2008, mais si vous deviez avoir ce contrôle dans un projet que vous éditiez avec Visual Studio 2005, vous casseriez complètement intellisense avec ce contrôle. Lorsque Visual Studio tente de créer des fichiers de schéma XML à utiliser pour les popups IntelliSense dans les fichiers de balisage, il rompt complètement lorsqu'il voit des contrôles génériques comme celui-ci et abandonne complètement le fichier schéma sans aucun intérêt pour les contrôles de cet assemblage.