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 :

Cacher des élements


Sujet :

ASP.NET

  1. #1
    Membre actif Avatar de Hawk_
    Homme Profil pro
    YouTuber
    Inscrit en
    Septembre 2016
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : YouTuber

    Informations forums :
    Inscription : Septembre 2016
    Messages : 35
    Par défaut Cacher des élements
    Bonjour,

    Je suis sur un projet en ASP.net C#, j'ai une page d'accueil, avec des informations, et en haut de la page j'ai deux boutons, si je clique sur les boutons c'est exactement la même page, sauf que j'ai fais deux lien différents de la même page.
    Bouton 1 = .aspx?app=1 et bouton 2 = .aspx?app=2 !

    Maintenant, il faut que je trouve la condition de quand je suis sur app=1, il faut que je cache telle ou telle Textbox par exemple, et idem pour le bouton 2...
    Pouvez-vous m'aider ?

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Le plus simple c'est d'utiliser du jQuery et de gerer ca sur le click des boutons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $("#idDeTonBouton").click(function () {
        // la logique pour masquer
    });
    Si tu es en WebForms et que tu veux faire un PostBack, alors tu dois gerer ca dans le code behind avec un event handler qui va se declencher quand tu cliques sur le bouton.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Par défaut
    Salut, tu récupères la valeur de ton app.

    Ensuite si valeur = 1
    Alors textbox1.visible = false

    Enfin je comprends pas le problème si tu passes en paramètre tu gère en code behind.

    PS : c'est plus jolie de mettre en session que en paramètre du lien.

    A plus.

  4. #4
    Membre actif Avatar de Hawk_
    Homme Profil pro
    YouTuber
    Inscrit en
    Septembre 2016
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : YouTuber

    Informations forums :
    Inscription : Septembre 2016
    Messages : 35
    Par défaut
    Citation Envoyé par dwlapp Voir le message
    Salut, tu récupères la valeur de ton app.

    Ensuite si valeur = 1
    Alors textbox1.visible = false

    Enfin je comprends pas le problème si tu passes en paramètre tu gère en code behind.

    PS : c'est plus jolie de mettre en session que en paramètre du lien.

    A plus.
    Bonjour, effectivement j'ai fais des sessions, dans ma master page j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Session["app"] = Request.QueryString["app"];
    Et dans le .cs de ma page d'accueil j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            protected void Page_Load(object sender, EventArgs e)
            {
                if (Session["app"] != null)
                {
                    Session["app"] = 1;
                    Panel_Prospect.Visible = false;
                    Bouton_Ou.Visible = false;
                }
            }
    Le problème, c'est que quand je clique sur le deuxième bouton j'ai pareil que sur la page = 1, quand je lance ma page d'accueil classique tout est bon, quand je clique sur le premier bouton c'est bon aussi, mais je ne sais quoi mettre comme condition pour mon deuxième bouton...
    Sachant visiblement que le Session["app"] = 1 ne sert à rien car quand je l'enlève, en cliquant sur le bouton 1, ça masque bien les éléments demandé.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Par défaut
    Attends je comprends pas tout (Peut être que ça vient de moi ^^)

    Tu as une page d'accueil, sur cette page deux boutons, chaque bouton mène à la même page mais elle n'affichera pas la même chose c'est ça ?

  6. #6
    Membre actif Avatar de Hawk_
    Homme Profil pro
    YouTuber
    Inscrit en
    Septembre 2016
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : YouTuber

    Informations forums :
    Inscription : Septembre 2016
    Messages : 35
    Par défaut
    Citation Envoyé par dwlapp Voir le message
    Attends je comprends pas tout (Peut être que ça vient de moi ^^)

    Tu as une page d'accueil, sur cette page deux boutons, chaque bouton mène à la même page mais elle n'affichera pas la même chose c'est ça ?
    Exactement

  7. #7
    Membre actif Avatar de Hawk_
    Homme Profil pro
    YouTuber
    Inscrit en
    Septembre 2016
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : YouTuber

    Informations forums :
    Inscription : Septembre 2016
    Messages : 35
    Par défaut
    Citation Envoyé par dwlapp Voir le message
    Attends je comprends pas tout (Peut être que ça vient de moi ^^)

    Tu as une page d'accueil, sur cette page deux boutons, chaque bouton mène à la même page mais elle n'affichera pas la même chose c'est ça ?
    En fait j'ai une page d'accueil avec des textbox et des labels, des images... en haut de cette page j'ai deux boutons, lorsque j'appuie sur le bouton 1 je dois faire disparaitre certaines textbox, et sur le bouton 2 pareil tout en affichant la même page, mais avec des éléments visible et non visible en fonction des boutons. Donc l’utilisation du .Visible = true / false, ça y'a pas de soucis, mais le reste je patoge...!

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Par défaut
    Mais quand on clique sur ces boutons on reste sur la même page, pas une nouvelle ?

    Si c'est sur la même page tu n'as rien besoin de sessions ou autre DotNetMatt avait raison.

    Tu gère en jQuery ou en code behind si tu veux.

    Tu fais simplement (si c'est sur la même page)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
            TextBox1.Visible = False
            TextBox2.Visible = True
     
        End Sub
     
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
     
            TextBox1.Visible = True
            TextBox2.Visible = False
     
        End Sub

  9. #9
    Membre actif Avatar de Hawk_
    Homme Profil pro
    YouTuber
    Inscrit en
    Septembre 2016
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : YouTuber

    Informations forums :
    Inscription : Septembre 2016
    Messages : 35
    Par défaut
    Citation Envoyé par dwlapp Voir le message
    Mais quand on clique sur ces boutons on reste sur la même page, pas une nouvelle ?

    Si c'est sur la même page tu n'as rien besoin de sessions ou autre DotNetMatt avait raison.

    Tu gère en jQuery ou en code behind si tu veux.

    Tu fais simplement (si c'est sur la même page)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
            TextBox1.Visible = False
            TextBox2.Visible = True
     
        End Sub
     
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
     
            TextBox1.Visible = True
            TextBox2.Visible = False
     
        End Sub
    Le problème c'est que j'ai une classe NavBar, dans laquelle sont paramétré les boutons, mais depuis un base de données, donc j'ai pas accès aux événements clicks de ces boutons..

  10. #10
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Par défaut
    Si tu as pas accès c'est que tu n'as pas mis de <asp:button runat="server"> dans ton bouton ? tu es en asp ?

    Et il faudra les mettre également dans un <form runat="server"></form>

  11. #11
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Par défaut
    Euh en fait je crois que je n'ai pas compris ta navbar avec ta base de données ^^

  12. #12
    Membre actif Avatar de Hawk_
    Homme Profil pro
    YouTuber
    Inscrit en
    Septembre 2016
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : YouTuber

    Informations forums :
    Inscription : Septembre 2016
    Messages : 35
    Par défaut
    Citation Envoyé par dwlapp Voir le message
    Si tu as pas accès c'est que tu n'as pas mis de <asp:button runat="server"> dans ton bouton ? tu es en asp ?

    Et il faudra les mettre également dans un <form runat="server"></form>
    Oui je travaille en ASP, mais les boutons sont pas des boutons classique, genre c'est pas le bouton qui ce trouve dans la boite à outils.
    Ils sont paramétrés comme ça, et sur une base de donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            int idApp = reader.GetInt32(0);
                            string AppName = reader.GetString(1);
                            string imageApp = reader.GetString(2);
                            string urlApp = reader.GetString(3);
     
                            strRetour = strRetour + "<a href=\"" + urlApp + "\" title=\"" + AppName + "\"><img src=\"" + imageApp + "\" alt=\"" + AppName + "\" border=\"0\"></a>&nbsp;";
                        }
                    }
    Ce code ce trouve dans une Classe, et ou les boutons images, sont paramétré dans une BDD SQL, donc pas d'accès direct à ces boutons.

    Le système que j'ai mis en place plus haut fonctionne, mais je n'arrive pas à le faire pour le bouton 2..

  13. #13
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Par défaut
    Euh pourquoi tu fais ça comme ça ?
    Il y à surement une bonne raison je ne connais pas tout.

  14. #14
    Membre actif Avatar de Hawk_
    Homme Profil pro
    YouTuber
    Inscrit en
    Septembre 2016
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : YouTuber

    Informations forums :
    Inscription : Septembre 2016
    Messages : 35
    Par défaut
    Citation Envoyé par dwlapp Voir le message
    Euh pourquoi tu fais ça comme ça ?
    Il y à surement une bonne raison je ne connais pas tout.
    En faisant comme ça, ça me permet de mettre les titres en header de mes pages directement dans la BDD, et quand je change de page, c'est la BDD qui change automatiquement le nom de la page sur laquelle on ce trouve, c'est peut être chercher midi à 14h, mais pour mon projet on ma demandé de faire comme ça..

  15. #15
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Par défaut
    Ah mince c'est une bonne idée mais bon... lol
    Donc la valeur de ton app vient de la base de données ?

    Tu peux pas non plus faire ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            Dim app As Integer = Request.QueryString("app")
     
            If app = 1 Then
     
                TextBox1.Visible = False
                TextBox2.Visible = True
     
            ElseIf app = 2 Then
     
                TextBox1.Visible = True
                TextBox2.Visible = False
     
            End If

  16. #16
    Membre actif Avatar de Hawk_
    Homme Profil pro
    YouTuber
    Inscrit en
    Septembre 2016
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : YouTuber

    Informations forums :
    Inscription : Septembre 2016
    Messages : 35
    Par défaut
    Citation Envoyé par dwlapp Voir le message
    Ah mince c'est une bonne idée mais bon... lol
    Donc la valeur de ton app vient de la base de données ?

    Tu peux pas non plus faire ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            Dim app As Integer = Request.QueryString("app")
     
            If app = 1 Then
     
                TextBox1.Visible = False
                TextBox2.Visible = True
     
            ElseIf app = 2 Then
     
                TextBox1.Visible = True
                TextBox2.Visible = False
     
            End If
    C'est bon, j'y suis arrivé !!! :p
    Dans ma master page j'ai mis ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Session["app"] = Request.QueryString["app"];
     
                if (Request.QueryString["app"] == null)
                    Response.Redirect("Recherche_Client.aspx?app=1");
    puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    protected void SqlDataSource_Titre_Page_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
            {
                string ScriptUrl = Request.Path.ToString();
                ScriptUrl = ScriptUrl.ToLower();
                ScriptUrl = ScriptUrl.Replace("/delegations/", "");
                ScriptUrl = ScriptUrl.Replace("/", "");
     
                e.Command.Parameters["@url"].Value = ScriptUrl + "?app=" + Session["app"].ToString();  //Request.Path.ToString().Substring(1,Request.Path.ToString().Length - 1);
            }
    et ensuite sur ma page d'accueil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (Session["app"].ToString() == "1")
                {
                    Panel_Prospect.Visible = false;
                    Bouton_Ou.Visible = false;
                }
    Et tout fonctionne !
    Merci pour ton temps accordé, c'était pas très clair j'en suis conscient mais j'ai fais ce que j'ai pu :p
    Merci

  17. #17
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Par défaut
    Ok très bien a plus

  18. #18
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Par défaut
    Quid si l'utilisateur ouvre 2 pages ? tu vas avoir un mix dans tes sessions...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/11/2010, 13h10
  2. cacher des élements
    Par yann0807 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/09/2009, 13h12
  3. [C#] Cacher des onglet(s)
    Par Jfrancois57 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 22/04/2004, 23h17
  4. Comment cacher des propriétés dans un nouvel objet ?
    Par Pedro dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/10/2003, 18h53
  5. [VB6] Datagrid afficher ou cacher des colonnes par code
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/02/2003, 17h19

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