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 :

Déclaration d'un user control dans le web.config


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Déclaration d'un user control dans le web.config
    Bonjour,

    Voilà, j'ai décidé d'utiliser des user controls pour composer mes pages (ce qui évite de coder plusieurs fois le même panneau) mais j'ai un soucis lors de la déclaration de mes contrôles pour pouvoir les utiliser dans mes pages.

    Je précise que j'ai défini mes contrôles dans le même projet que l'application (il me semble que si je fais un projet de type "bibliothèque de contrôles, je ne peux pas y faire de .ascx, mais si c'est possible, je préférerais...).

    J'ai réussi à utiliser mon premier contrôle en le déclarant directement dans la page avec la directive :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ register tagprefix="cc1" tagname="name" src="~/controls/ctl1.ascx" %>
    Ça fonctionne, mais
    1) je vais être obligée de déclarer dans ma page tous les contrôles que je veux y utiliser individuellement
    2) je vais devoir le faire dans chaque page

    J'ai lu quelque part qu'on pouvait faire cette déclaration dans le web.config comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <pages>
    	<controls>
    		<add tagPrefix="cc1" tagName="name" src="~/controls/ctl1.ascx" />
    	</controls>
    </pages>
    Mais le contrôle n'affiche alors rien (bien que je n'ai aucun message d'erreur.

    J'ai tenté la même chose en essaynt de déclarer mon contrôle à partir de mon assembly :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ register tagprefix="cc1" assembly="MonAssembly" namespace="MonNamespace" %>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <pages>
    	<controls>
    		<add tagPrefix="cc1" assembly="MonAssembly" namespace="MonNamespace" />
    	</controls>
    </pages>
    Mais ça ne fonctionne pas mieux... (toujours pas d'erreur, mais ça n'affiche rien).
    (L'idéal serait cette dernière solution puisqu'elle me permettrait de déclarer tous mes contrôles pour toute l'application d'un seul coup )

    Je précise aussi que mon contrôle ne fait pour l'instant rien de particulier : j'ai juste du code HTML dans le .ascx.

    Si quelqu'un pouvait m'indiquer comment faire ou me mettre sur la voie, ça serait sympa

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    assembly c'est pour les customs controls

    pour un user control, dans le web config, c'est bien à la section pages/controls :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      <system.web>
     
        <pages>
          <controls>
            <add tagPrefix="cc1" src="~/controls/ctl1.ascx" tagName="monUc"/>
          </controls>
        </pages>
     
      </system.web>
     
    </configuration>
    à utiliser ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <cc1:monUc ID="MonUserControl" runat="server" />
    mais si tu n'as pas d'erreur à l'execution, ca doit venir d'autre chose

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci, je vais réessayer

    Si tu as encore un peu de temps, tu peux me dire en deux mots quelle est la différence entre custom control et user control ? merci



    EDIT: ok, j'avais pas mis le champ ID, je pense que c'est pour ça que ça ne fonctionnait pas

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    je peux le dire

    mais je laisserai la faq asp.net le faire http://dotnet.developpez.com/faq/asp...rolUserControl

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ok, effectivement, c'est dans la FAQ (dommage qu'on tombe pas dessus directement en tapant "user control" dans la recherche... mais bon).

    Ce dont j'ai besoin s'approche plutôt d'un user control effectivement je pense, c'est vraiment pour faire genre un formulaire de recherche qui se retrouvera sur plusieurs page ou des choses comme ça.

    Maintenant, j'ai un autre petit soucis : est-ce qu'on peut d'une manière ou d'une autre passer à un contrôle utilisateur un objet (donc pas une simple chaîne de caractère) de manière à pouvoir afficher certaines de ces propriétés (string cette fois) dans les champs de formulaire (du contrôle) par exemple ?

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    bien sur, c'est aussi expliqué dans la faq http://dotnet.developpez.com/faq/asp...mToUserControl
    l'exemple est une chaine de caractère, mais tu peux bien sur utiliser n'importe quel type d'objet

Discussions similaires

  1. Ajout web user control dans un placeholder
    Par gabdeschenes dans le forum ASP.NET
    Réponses: 4
    Dernier message: 13/11/2009, 16h47
  2. web user control dans un web user control
    Par Gr@nd@x dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/11/2009, 12h24
  3. Propriété d'un user control dans la boite propriété ?
    Par le_chomeur dans le forum ASP.NET
    Réponses: 4
    Dernier message: 20/07/2009, 14h52
  4. Afficher un user control dans une form
    Par andromeda dans le forum C#
    Réponses: 1
    Dernier message: 28/04/2009, 11h12
  5. Réponses: 1
    Dernier message: 25/04/2009, 15h18

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