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 :

Gridview passage de parametre dans l'url avec ImageButton


Sujet :

ASP.NET

  1. #1
    Membre averti Avatar de LhIaScZkTer
    Inscrit en
    Mai 2004
    Messages
    564
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2004
    Messages : 564
    Points : 301
    Points
    301
    Par défaut Gridview passage de parametre dans l'url avec ImageButton
    Salut à tous,

    J'ai un Gridview dedans j'ai un TemplateField avec un ItemTemplate avec encore dedans un ImageButton

    Mon gros souci est que j'aimerais envoyé des paramètre Id par l'URL pour ensuite afficher dans une fenêtre différente le DetailsView correspondant à la ligne de mon GridView.

    Apparemment une solution qui se rapproche exactement de ce que je veux faire se trouve ici mais le problème est que je ne peux pas mettre une image à la place des liens pointant sur les DetailsView. J'ai aussi regardé du coté des ImageField mais ça ne marche pas.

    D'ailleurs la première chose que j'ai essayé c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <asp:ImageButton ID="LinkButton3" runat="server" CausesValidation="False" CommandName="Select"
                                ImageUrl="~/Medias/icones/consulter.gif" AlternateText="Select" ToolTip="Selectionner" PostBackUrl='fichegroupe.aspx?ID=<%# Bind("ID_GR")%>' />
    Evidemment comme à mon habitude j'ai toujours d'excellentes fausses bonnes idées...
    D'ailleurs je devrais en faire un blog...

    Si quelqu'un a une solution je lui en serais très reconnaissant. Bonne journée à tous.

  2. #2
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Un truc qui marche bien, ca pourrais te convenir:
     
    Tu ajoute un templatefiel à ta gridview dans lequel tu met un link button appellé "select" et dont le texte est "sélection" 
     
    Ensuite dant le rowdatabound tu cherche ton bouton select et tu rajoute une fonction javascript sur le clic, 
     
        protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (e.Row != null && e.Row.RowIndex!=-1)
                {
                    int i = e.Row.RowIndex;
    //Tu récupère l'Id de la ligne
                    string Id = GridView.DataKeys[i].Values[0].ToString();
     
                    LinkButton select = e.Row.FindControl("btnSelection") as LinkButton;
     
                    if (select != null)
                    {
     
     
                            select.Attributes.Add("onclick", "mafonctionJavascript(" + Id.ToString() + ")");
                        }
     
     
     
                }
            }
     
    }

    Et ta fonction javascript un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function ouvrirDetailsView(Id)
            {
                 window.open("MaPage aveclaDetailsView.aspx?ID="+Id,"", "height=700,width=900,menubar='no',toolbar='no',location='no',status='no',scrollbars=1,resizable=1");
     
            }

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Pardon, j'avais un peu lu entre les lignes, je pense que ca marche aussi bien en mettant un image button,
    puis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageButton select = e.Row.FindControl("btnSelection") as ImageButton;

    j'espere que je suis pas trop à coté de la plaque et que j'ai compris la question...

  4. #4
    Membre averti Avatar de LhIaScZkTer
    Inscrit en
    Mai 2004
    Messages
    564
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2004
    Messages : 564
    Points : 301
    Points
    301
    Par défaut
    Salut mi1StagiR et merci pour ton aide.

    J'ai testé tes solutions et je sais pas si c'est la chaleur mais j'y suis arrivé à rien

    Par contre j'ai trouvé quelque chose de plus facile. Display an image in a HyperLinkField

    Et pour le code voilà ce que ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:HyperLinkField DataNavigateUrlFields="ID_RA_GR" DataNavigateUrlFormatString="fichegroupe.aspx?ID={0}" DataTextField="ID_RA_GR" DataTextFormatString='<img src="Medias/icones/consulter.gif" alt="{0}" border="0" />' />
    Très facile à mettre en place comme on peut le remarquer.

    Bonne journée à tous.

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

Discussions similaires

  1. passage de parametre dans l'URL dans une jsp
    Par marry dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 05/05/2009, 18h23
  2. Passage de parametres dans l'URL
    Par malayika dans le forum Zend Framework
    Réponses: 1
    Dernier message: 11/06/2008, 16h12
  3. Passage de parametre dans l'url
    Par jolly_arnaud dans le forum GWT et Vaadin
    Réponses: 2
    Dernier message: 31/07/2007, 16h47
  4. Réponses: 1
    Dernier message: 04/05/2007, 14h31
  5. Réponses: 10
    Dernier message: 31/03/2006, 18h56

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