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 :

Conditionnement d'affichage d'un user control


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 43
    Par défaut Conditionnement d'affichage d'un user control
    Bonjour,

    voilà j'explique mon problème, je cherche à conditionner l'affichage d'un user control en fonction d'un paramètre que je lui passe.

    Dans la page appelante j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% response.redirect("page1.aspx?var1=false")%>
    Et dans la page appelée (page1.aspx) je cherche donc en fonction de la variable var1, afficher ou non ce composant (Compo.ascx).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <% if (request.getParameter("var1") = true) {%>
     <%@ Register Src="composants/Compo.ascx" TagName="Compo" TagPrefix="uc2" %>
    Mais je ne dois pas bien mis prendre

    Merci d'avance

  2. #2
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut
    Essay autre chose que true et false, prend des valeurs numeriques et je pense que c'est == et pas =, que dit le debuggeur ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 43
    Par défaut
    J'ai corrigé comme tu me l'as dit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% response.redirect("page1.aspx?var1=0")%>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <% if (request.getParameter("var1") == 1) {%>
     <%@ Register Src="composants/Compo.ascx" TagName="Compo" TagPrefix="uc2" %>
    <% }%>
    Mais j'ai le même message d'erreur du debuggeur :

    Seuls les contrôles de contenu sont autorisés directement dans une page de contenu qui contient des contrôles de contenu.

  4. #4
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut
    Mais ton truc est bizarre ce n'est pas au niveau de la balise <% Register qu'il faut le faire mais lorsque tu places ton usercontrol sur la page.
    Le register dit juste que tu fais le lien avec le usercontrol mais pas que tu l'utilises

  5. #5
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    salut

    c'est pas sur le register que tu dois mettre ta condition.
    register permet d'enregistrer ton userControl auprès de la page.

    il faut que tu mettes ta condition sur l'affichage du userControl dans la page.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 43
    Par défaut
    Oui je vois, mais comment procéder ?

    Faut-il que je gère cette affichage dans le Page_Load du code behind ?

    Genre : ou alors dans mon fichier .aspx avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('Compo1').style.visibility=...
    Faut-il que j'utilise une fonction javascript, car il faudra bien que j'utilise le request.getParameter pour récupérer la valeur de ma variable ?

    Merci encore pour votre aide.

  7. #7
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Salut

    En haut de ta page aspx, tu enregistres ton usercontrol
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ Register Src="composants/Compo.ascx" TagName="Compo" TagPrefix="uc2" %>
    Plus bas dans ta page tu "places" ton usercontrol.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <uc2:Compo id="MyUc" Visible="false" />
    Dans le pageload de ton aspx tu récupères la valeur de ton paramètre et tu affiches ton UC ou non.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (request.getParameter("var1") == 1)
    {
    MyUc.visible = true;
    }

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 43
    Par défaut [Résolu]
    Merci pour la réponse, oui effectivement c'est une solution, j'avais finalement fait autrement mais ça marche aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
          <%  Dim a As String
                a = Request.QueryString("var1")
                If a = True Then
          %><uc1:WebUserControl ID="WebUserControl1" runat="server" />   
          <%  End If
           %>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. User control et performance d'affichage
    Par dkmix dans le forum Windows Forms
    Réponses: 0
    Dernier message: 19/03/2012, 12h04
  2. probleme avec l'affichage d'une image dans un user control
    Par cpotiron dans le forum Windows Forms
    Réponses: 9
    Dernier message: 21/08/2009, 11h30
  3. Affichage user control ascx dynamiquement
    Par ThistleDub dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/08/2009, 10h31
  4. Affichage d'une image dans un user control
    Par fabfor dans le forum ASP.NET
    Réponses: 2
    Dernier message: 30/04/2007, 17h13
  5. [VB.NET] Provoquer le rechargement d'un user control..
    Par didoboy dans le forum ASP.NET
    Réponses: 7
    Dernier message: 30/04/2004, 14h17

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