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 :

Utilisation de param�tres dans url dans un gridview


Sujet :

ASP.NET

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    526
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 526
    Par d�faut Utilisation de param�tres dans url dans un gridview
    Bonjour,

    J'ai un gridview contenant deux colonnes Code et FJ (une colonnes de texte et une colonne sous forme de boutons images):

    Ce que je voudrais, c'est qu'en cliquant sur le bouton image d'une ligne, cela me redirige vers une autre page avec comme param�tre dans l'URL la valeur du Code de la ligne correspondante.
    Je pensais avoir compris le principe lors d'une pr�c�dente utilisation, mais cela n'a pas l'air d'�tre le cas.

    Pour l'instant, mon code se pr�sente sous la forme :

    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
    <asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound" AllowPaging="False" 
               AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Code" 
              DataSourceID="SqlDataSource1" CssClass="StyleTab" CellPadding="10" HeaderStyle-ForeColor="White">
              <HeaderStyle CssClass="StyleEnteteTab" />
              <AlternatingRowStyle CssClass="StyleAltRows" />
     
               <Columns>
    <asp:BoundField DataField="Code" HeaderText="Code" 
                       SortExpression="Code" />
     <asp:TemplateField ShowHeader="False">
                    <ItemTemplate>
                        <asp:ImageButton ID="FichierJoint" runat="server" ImageUrl="/Images_Projet/Images/Fichier.png" width="22" height="22" PostBackUrl="~/GestionFichier.aspx?Code={0}"/>
                    </ItemTemplate>
                    <HeaderTemplate>
                        <asp:Label ID="FJ" runat="server" Text="Fichier Joint"></asp:Label>
                    </HeaderTemplate>
                   </asp:TemplateField>
     
     
              </Columns> 
    </asp:GridView>
    Le truc, c'est que j'obtiens � chaque fois comme param�tre dans l'url :Code={0}.
    Je voulais donc savoir comment on faissait exactement pour choisir la valeur � droite du = ?

    Merci.

  2. #2
    Membre �clair�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    F�vrier 2007
    Messages
    236
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 236
    Par d�faut
    Bonjour,

    Vous pouvez g�rer �a en code behind dans l'�v�nement Row Created : pour chaque row normalement vous avez l'ID et vous construisez votre url.

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    526
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 526
    Par d�faut
    J'ai essay� d'utiliser la m�thode onrowcommand du gridview de cette mani�re afin de r�cup�rer la valeur du code de ma ligne s�lectionn�e :

    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
    protected void CustomersGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
            {
                // If multiple buttons are used in a GridView control, use the
                // CommandName property to determine which button was clicked.
                if (e.CommandName == "SelectionDossier")
                {
                    // Convert the row index stored in the CommandArgument
                    // property to an Integer.
                    int index = Convert.ToInt32(e.CommandArgument);
     
                    // Retrieve the row that contains the button clicked 
                    // by the user from the Rows collection.
                    string num = GridViewPlanActions.Rows[index].Cells[1].ToString();
     
                    //Response.Write(num);
     
                }
            }
    avec

    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
     <asp:GridView ID="GridViewPlanActions" runat="server" OnRowDataBound="GvCustomers_RowDataBound" AllowPaging="False" 
               AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Code" 
               DataSourceID="SqlDataSource1"  CssClass="StyleTab" CellPadding="10" onrowcommand="CustomersGridView_RowCommand" >
     
    ...
     
    <ItemTemplate>
                        <asp:ImageButton ID="FichiersJointsPlanActionImmediate" runat="server" ImageUrl="/Images_Projet/Images/Fichier.png" width="22" height="22" CommandName="SelectionDossier" PostBackUrl="~/DetectionTraitement.aspx"/>
                    </ItemTemplate>
                    <HeaderTemplate>
                        <asp:Label ID="FJ" runat="server" Text="Fichiers Joints"></asp:Label>
                    </HeaderTemplate>
                   </asp:TemplateField>   
     
    ...
    Mais j'ai un message d'erreur au niveau de la syntaxe de la chaine d'entr�e
    int index = Convert.ToInt32(e.CommandArgument);
    Je ne comprend pas car c'est un bout de code tir� d'ici ?

  4. #4
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    F�vrier 2010
    Messages
    1 467
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France

    Informations professionnelles :
    Activit� : Consultant en technologies
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2010
    Messages : 1 467
    Par d�faut
    Es-tu s�r que e.CommandArgument contient un entier ?
    As-tu mis un BreakPoint pour visualiser sa valeur lors de l'execution ?
    Postes-tu un message sur ce forum d�s que tu as erreur dans ton code ?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Thickbox] Passer des param�tres d'URL dans un JS
    Par Erwan31 dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 15/03/2009, 21h52
  2. R�ponses: 3
    Dernier message: 12/12/2008, 08h05
  3. R�ponses: 3
    Dernier message: 05/12/2008, 11h59
  4. Probl�me param�tre chemin dans url
    Par m@t dans le forum Langage
    R�ponses: 17
    Dernier message: 09/03/2006, 22h09
  5. R�ponses: 2
    Dernier message: 21/09/2005, 17h23

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