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 :

Pb d'événement sur un ImageButton dans un DataList


Sujet :

ASP.NET

  1. #1
    spi
    spi est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 24
    Points : 20
    Points
    20
    Par défaut Pb d'événement sur un ImageButton dans un DataList
    Bonjour j'ai un problème avec une dataList et les ImageButton.

    En effet, un clic sur un ImageButton n'éxécute pas le code voulu assigné.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <asp:datalist id="ListComments" runat="server" DataKeyField="CommentID"
        OnItemDataBound="ListComments_ItemDataBound" OnEditCommand="ListComments_Edit">
      <ItemTemplate>
        <asp:ImageButton CommandName="Edit" id="editBtn" ImageUrl="~/images/edit.gif" Runat="server" />
        <asp:linkButton id="editBtn2" CommandName="Edit" Runat="server" />
        [....]
      </ItemTemplate>
    </datalist>
    Un clic sur l'image Button rechargera la page sans effectuer aucune action, alors qu'un clic sur le LinkButton effectuera l'action désirée.

    Merci d'avance.

    PS : j'utilise le framework .Net 1.1

  2. #2
    Membre actif Avatar de gwadakillah
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 235
    Points : 239
    Points
    239
    Par défaut
    on peut voir le code de ton OnEditCommand?

  3. #3
    spi
    spi est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    Rien de bien méchant, juste une redirection vers une autre page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    protected void ListComments_Edit(object source, DataListCommandEventArgs e)
    {
        Response.Redirect(Globals.NavigateURL(TabId, "editComment", new string[]{"mid=" + ModuleId, "commentId=" + ListComments.DataKeys[e.Item.ItemIndex]}));
    }
    En utilisant le débuggueur je vois très bien que cette fonction est exécutée lors du clic sur le linkbutton, mais pas lors du clic sur l'imagebutton.

  4. #4
    Membre actif Avatar de gwadakillah
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 235
    Points : 239
    Points
    239
    Par défaut
    et si tu testes ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <asp:datalist id="ListComments" runat="server" DataKeyField="CommentID"
        OnItemDataBound="ListComments_ItemDataBound" OnEditCommand="ListComments_Edit">
      <ItemTemplate>
        <asp:ImageButton CommandName="EditButton" id="editBtn" ImageUrl="~/images/edit.gif" Runat="server" />
        <asp:linkButton id="editBtn2" CommandName="EditLink" Runat="server" />
        [....]
      </ItemTemplate>
    </datalist>
    et dans ton code behind :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    protected void ListComments_Edit(object source, DataListCommandEventArgs e)
    {
    if(e.CommandName == "EditButton")
    {
        Response.Redirect(Globals.NavigateURL(TabId, "editComment", new string[]{"mid=" + ModuleId, "commentId=" + ListComments.DataKeys[e.Item.ItemIndex]}));
    }
    if(e.CommandName == "EditLink")
    {
      Response.Redirect(Globals.NavigateURL(TabId, "editComment", new string[]{"mid=" + ModuleId, "commentId=" + ListComments.DataKeys[e.Item.ItemIndex]})); 
    }
    }
    


    et que tu débogues, ça donne quoi quand tu cliques sur ton bouton...

  5. #5
    spi
    spi est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    Je suppose que tu voulais dire "OnItemCommand" et non pas "OnEditCommand" come action.

    J'avais déjà testé (j'ai retesté pour être sûr), mais la fonction n'est appelée qu'en cas de clic sur le LinkButton.

  6. #6
    spi
    spi est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    J'ai trouvé.

    En fait, je rechargeais ma datagrid à chaque fois, il fallait faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(!Page.IsPostBack) {
      InitDataGrid();
    }
    Par contre, à savoir pourquoi ca marchait avec un LinkButton et pas un ImageButton ... mystère !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/03/2011, 12h04
  2. évènement sur un tag (GtkTextTag) dans un GtkTextBuffer non-éditable
    Par basile.starynkevitch dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 13/03/2011, 14h46
  3. [XSLT] gérer un évènement sur un choix dans un combo XSL
    Par KRis dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/01/2009, 16h36
  4. Faire un setText sur un JTextArea dans un évènement
    Par piotrr dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 06/12/2007, 11h01
  5. AddHandler sur un ImageButton dans un GridView
    Par Poussy-Puce dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/10/2007, 16h48

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