IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Comment récupérer la liste des components designer ?


Sujet :

ASP.NET

Vue hybride

Jérôme Lambert Comment récupérer la liste... 12/07/2007, 14h49
guitoux1 Salut, Quand tu met un... 12/07/2007, 15h00
Jérôme Lambert La première solution n'est... 12/07/2007, 15h17
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut Comment récupérer la liste des components designer ?
    Bonjour,

    Tout comme on peut récupérer la liste des contrôles déposés sur une page via le Designer grâce à this.Controls, j'aimerais pouvoir récupérer de la même façon la liste des composants (DataSet, BackgroundWorkder, FileSystemWatcher, etc) déposés via le Component Designer.

    Existe-t-il une collection avec tout ces objets ?

    Merci d'avance,

    Jérôme.

  2. #2
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Salut,

    Quand tu met un component dans le component designer de ta page ASPX, il l'ajoute en tant que variable de ta classe, tu coup tu le récupère en indiquant son nom.
    Et si tu veux la liste des components sans connaitre leur noms, je ne vois pas d'autres solution que la réflexion en vérifiant que l'attribut est du type component.

  3. #3
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    La première solution n'est pas possible car comme tu le dis, (en gros résumé) je passe par une classe qui reçoit une instance de page aspx/ascx afin de déterminer si l'instance contient un composant BackgroundWorkder par exemple.

    Pour ce qui est de la réflexion, ce n'est pas envisageable pour la raison suivante :

    J'ai créé un user control BaseWebUserControl qui dérive de System.Web.UI.UserControl. C'est ce user control qui doit avoir la logique pour s'interroger afin de vérifier si il existe des composants qui sont liés.

    Ensuite, j'ai créé un autre user control MonWebUserControl qui dérive de BaseWebUserControl. où j'ai ajouté via le Component Designer un BackgroundWorker.

    Maitnenant, il faut savoir que mon code est exécuté par Visual studio lorsque MonWebUserControl est affiché dans le Designer. Et je peux certifié que l'exécution de la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (this is BaseWebUserControl)
    Ca me renvoit à chaque fois faux car pour lui this est de type System.Web.UI.UserControl.

    (Pour rappel, à aucun moment mon site web tourne, ce serait sûrement différent si c'était le cas).

    Donc en conclusion, la réflexion est impossible aussi car je récupère System.Web.UI.UserControl comme type.

Discussions similaires

  1. comment récupérer le liste des tables et des champs
    Par sekaijin dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 26/07/2006, 16h26
  2. [C#] Comment récupérer la liste des serveurs MSSQL?
    Par sorcer1 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/01/2006, 18h06
  3. Comment récupérer la liste des contacts de outlook express?
    Par arnaud_verlaine dans le forum Outlook Express / Windows Mail
    Réponses: 6
    Dernier message: 12/10/2004, 15h53
  4. [MAP] comment récupérer la liste des clé ordonnées
    Par Alec6 dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 21/07/2004, 16h37
  5. Comment récupérer la liste des logiciels installés sur une machine ?
    Par david_chardonnet dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 19/09/2003, 17h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo