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 :

[ASP .NET][C#][VisualStudio 2005] Méthode évenemtielle : OnRowCommand


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Par défaut [ASP .NET][C#][VisualStudio 2005] Méthode évenemtielle : OnRowCommand
    Bonjour à tous et à toutes.

    Je suis confronter à un léger problème et je ne vois pas ce que j'ai pu oublier. (Je pense avoir respecté le code présenter sur MSDN.)

    Objectif: Un GridView pourvu de colonne de boutons doit, si pression des dits boutons, renvoyer aux méthodes de la couche métier.

    Voici le code de ma couche DESIGN:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <asp:GridView ID="gvRes" runat="server" AutoGenerateColumns="true" OnRowCommand="gvAdh_RowCommand">
                <Columns>
                    <asp:TemplateField HeaderText="Modif." >
                        <ItemTemplate>
                            <asp:Button id="btnModif" runat="server" Text="Modif." CommandName="Modif"/>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:Button id="btnSuppr" runat="server" Text="Suppr." CommandName="Suppr"/>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>  
            </asp:GridView>
    Voici le code de ma couche METIER:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                    PanelResultat.Controls.Clear();
                    PanelResultat.Controls.Add(gvRes);
                    gvRes.Visible = true;
                    DataSet ResDS = ComposantDb.CurseurDb.GetAdh();
                    gvRes.DataSource = ResDS;
                    gvRes.DataBind();
                    gvRes.RowCommand += new GridViewCommandEventHandler(gvAdh_RowCommand);
    Et voilà la déclaration de la méthode appelée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     protected void gvAdh_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                Page.ClientScript.RegisterStartupScript(Type.GetType("string"), "", "plop");
            }
    Franchement je ne vois pas ce que j'ai pu oublier ...

  2. #2
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Que cherche tu a faire exactement ?
    A mettre un code javascript sur un bouton ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Par défaut
    En fait je cherche à accéder à ma méthode déjà.
    Problème: ce n'est pas le cas.

    J'ai beau écrire tout et n'importe quel code dans cette dernière méthode rien ne ce passe.

    Je n'entre même pas dans la méthode !

  4. #4
    Rédacteur

    Avatar de Jean-Michel Ormes
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    1 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 838
    Par défaut
    Salut,

    as-tu une méthode OnInit dans ton code ? Tu peux toujours essayer comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        override protected void OnInit(EventArgs e)
        {
            InitializeComponent();
            base.OnInit(e);
        }
     
        private void InitializeComponent()
        {
            gvRes.RowCommand += new GridViewCommandEventHandler(gvAdh_RowCommand);
        }

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Par défaut
    Désolé pour la réponse tardive (problème de connexion/ligne).

    J'ai déjà essayer la déclaration Init. Ça ne marche pas.

  6. #6
    Membre éprouvé
    Inscrit en
    Décembre 2003
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Décembre 2003
    Messages : 108
    Par défaut
    c'est le code de ta méthode OnRowCommand qui n'est pas juste
    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    protected void gvAdh_RowCommand(object sender, GridViewCommandEventArgs e)
            {
            if(e.CommandName=="Suppr")
            {
    //appel de la fonction qui supprime
    }
     if(e.CommandName=="Modif")
        {
    //appel de la fonction qui modifie
    }
            }

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Par défaut
    Ça ne marche pas: j'ai mis un point d'arrêt à l'intérieur de la méthode et ça ne marche pas. Mon programme ne rentre pas dans la méthode.

    Bizarre vous avez dis: "bizarre" ?

  8. #8
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Si ta gridview s'appelle "gvRes" pourquoi as-tu une méthode "gvAdh_RowCommand"? Normalement cela devrait être "gvRes_RowCommand".

    Vérifie que le nom de la méthode dans le code "frontal" et "behind" correspondent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <asp:GridView ID="gvRes" runat="server" OnRowCommand="gvAdh_RowCommand">
    </asp:GridView>
    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    protected void gvAdh_RowCommand(object sender, GridViewCommandEventArgs e)
    OU
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <asp:GridView ID="gvRes" runat="server" OnRowCommand="gvRes_RowCommand">
    </asp:GridView>
    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    protected void gvRes_RowCommand(object sender, GridViewCommandEventArgs e)
    Sinon, je vois pas trop pourquoi tu t'embêtes à programmer ça. C'est très bien supporté nativement par le paramétrage du gridview à l'aide des assistants.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Par défaut
    Je relance ce post car je n'est toujours pas la réponse. Je viens de me remettre dedans et c'est toujours le même problème.

    Aucune des méthodes proposées précédemment ne marche.

    Si quelqu'un voit une solution

  10. #10
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Dans les propriétés du gridview tu peux choisir de faire apparaître les boutons "Edit", "Insert", "Delete". Ils sont natifs. Pourquoi tu ne les utilises pas?
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Impossible de déboger un projet ASP.Net sous VS 2005
    Par Maren00 dans le forum Visual Studio
    Réponses: 2
    Dernier message: 07/05/2009, 00h10
  2. publier une application ASP.NET sur VS 2005
    Par insane_80 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 24/09/2008, 14h43
  3. le contrôle Login asp.net visual studio 2005
    Par dang_q dans le forum ASP.NET
    Réponses: 1
    Dernier message: 22/07/2008, 18h50
  4. Deploiment application ASP.NET Visual studio 2005
    Par WELCOMSMAIL dans le forum ASP.NET
    Réponses: 3
    Dernier message: 03/06/2008, 11h55
  5. [asp.net][c#][VS 2005] Unable to start debugging
    Par zitoun dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 03/05/2007, 18h07

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