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 :

[debutant]CommandField d'un gridview


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 61
    Par défaut [debutant]CommandField d'un gridview
    Bonjour,

    Le contexte :
    J'utilise un gridview chargé par les informations sélectionné dans une base de donnée MySQL, j'ai configuré chacune des colonnes pour afficher ce que je désirais.
    J'ai ajouté une colonne CommanFIELD pour pouvoir éditer et supprimer chacune de mes lignes. J'ai complété l'événément RowDeleting pour la suppresion de ligne avec succès, par contre je bloque sur la mise à jour après modification.

    La question :
    Pour la MAJ, je tente de compléter l'événement rowupdated, mais est-ce l'événement lié au bouton "mettre à jour" du commendField ?
    car après appui sur le bouton, tous se passe comme si l'événement n'était pas impléménté (j'y fait un simple "hello world").

    Cordialament,

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Citation Envoyé par leiwulang Voir le message
    Bonjour,

    Le contexte :
    J'utilise un gridview chargé par les informations sélectionné dans une base de donnée MySQL, j'ai configuré chacune des colonnes pour afficher ce que je désirais.
    J'ai ajouté une colonne CommanFIELD pour pouvoir éditer et supprimer chacune de mes lignes. J'ai complété l'événément RowDeleting pour la suppresion de ligne avec succès, par contre je bloque sur la mise à jour après modification.

    La question :
    Pour la MAJ, je tente de compléter l'événement rowupdated, mais est-ce l'événement lié au bouton "mettre à jour" du commendField ?
    car après appui sur le bouton, tous se passe comme si l'événement n'était pas impléménté (j'y fait un simple "hello world").

    Cordialament,
    Je suis pas sure de pouvoir t'aider, mais pour vérifier ou est ce que tu affiche le "Hello World" ?
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    Quel est ton code ?
    C'est via un ObjectDataSource ?
    Ou bien tu as implémenté un Event (et alors montre le code) côté serveur et tu appelles bien une requête qui met à jour la valeur sélectionnée ?

    Fix

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 61
    Par défaut
    J'ai implementé deux "event" (update et updated) côté serveur comme ceci pour tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    protected void Mettre_a_jour(object sender, GridViewUpdateEventArgs e)
        {
            Label1.Text = "evenemenet gridview update declenche";
        }
     
    protected void Mettre_a_jour(object sender, GridViewUpdatedEventArgs e)
        {
            Label1.Text = "evenemenet gridview update declenche";
     
        }
    Lorsque je clique sur "mettre à jour", j'ai une erreur avec cette trace de pile :

    [ArgumentException: Argument de publication ou de rappel non valide. La validation d'événement est activée via <pages enableEventValidation="true"/> dans la configuration ou via <%@ Page EnableEventValidation="true" %> dans une page. Pour des raisons de sécurité, cette fonctionnalité vérifie si les arguments des événements de publication ou de rappel proviennent du contrôle serveur qui les a rendus à l'origine. Si les données sont valides et attendues, utilisez la méthode ClientScriptManager.RegisterForEventValidation afin d'inscrire les données de publication ou de rappel pour la validation.]
    System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +409
    System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) +108
    System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +32
    System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4886


  5. #5
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    je me demande si ca n'est pas un problème de viewstate. en fait pour declencher le postback il y a une vérification des infos envoyer histoire qu'un hacker n'y ajoute pas du code et je crois que ca vient de là.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 61
    Par défaut
    Je crois voir ce que tu veux dire,
    il faudrait dans ce cas que le contenu soit d'abord validé mais comment faire ...
    ?

    Personne n'a déjà fait ça ? (ça m'étonnerait !)

    Merci.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 61
    Par défaut
    La source de l'erreur est que je n'avais pas de condition " ! IsPostBack" pour les instuctions de mon page_load, le binding qui y était fait était incompatible avec l'état de mon gridview ...
    C'est réglé.
    Merci à tous.

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

Discussions similaires

  1. GridView : CommandField
    Par Pyroa dans le forum Développement Web avec .NET
    Réponses: 1
    Dernier message: 18/03/2010, 08h19
  2. Réponses: 4
    Dernier message: 19/11/2009, 10h10
  3. debutant[gridview et affichage de photos]
    Par tbess dans le forum ASP.NET
    Réponses: 2
    Dernier message: 10/08/2007, 17h03
  4. [Debutant] probleme : remplir GridView
    Par H-bil dans le forum C#
    Réponses: 2
    Dernier message: 29/06/2007, 09h49
  5. [Debutant] Probleme d'affichage de mon Gridview
    Par sebium dans le forum ASP.NET
    Réponses: 1
    Dernier message: 26/05/2007, 14h05

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