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 :

Confirmation box et commandfield


Sujet :

ASP.NET

Vue hybride

rainlily Confirmation box et... 07/08/2007, 14h05
Wookai Hem :oops:, c'est un peu du... 08/02/2008, 10h44
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Par défaut Confirmation box et commandfield
    bonjour,

    J'essai de faire afficher un confirmation box quand je click sur delete dans le gridview. J'ai chercher sur internet et j'ai trouvé plein de solution mais qui ne fonctionne pas pour mon exemple.

    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
    32
    33
    34
    35
    36
     
     
    <asp:GridView  ID="LstFluxGvw" runat="server" EnableViewState="False" CellPadding="4" ForeColor="#333333" GridLines="Vertical"
    OnSelectedIndexChanged="SelectedIndexChangedLstFluxGvw" OnRowEditing="AffichIndexChangedGvw" OnRowDeleting="Delete" Width="741px" AutoGenerateColumns="False" Height="165px" AutoGenerateSelectButton="False" EnableTheming="True">
    <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" HorizontalAlign="Center" />
     
    <Columns>
    <asp:HyperLinkField headertext="Fichier" datatextfield="nomFlux"
                datanavigateurlformatstring="fluxRSS.aspx?XML={0}" 
                datanavigateurlfields="nomFlux" />
    <asp:BoundField DataField="title" HeaderText="Titre" />
    <asp:BoundField DataField="link" HeaderText="Lien" />
    <asp:CommandField HeaderText="Select" ShowSelectButton="True" ButtonType="Button"/>
    <asp:CommandField DeleteText="Supprimer" HeaderText="Delete" ShowDeleteButton="True" />    
    <asp:CommandField HeaderText="Affichage" EditText="Voir" ShowEditButton="True" />
    </Columns>
    ....
     
     protected void Delete(object sender,GridViewDeleteEventArgs e)
       {
            XmlDocument lstRssXmlDoc = new XmlDocument();
            lstRssXmlDoc.Load(Server.MapPath("lstRss.xml"));
            XmlNodeList fluxNL = lstRssXmlDoc.DocumentElement.ChildNodes;
            XmlNode fluxN = fluxNL.Item(e.RowIndex);
            string stringpath = fluxN["nomFlux"].InnerText;
            string fichierSupp = Server.MapPath(stringpath);
            FileInfo RssFile = new FileInfo(fichierSupp);
            //si le fichier existe
            if (RssFile.Exists)
            {
                FileInfo DeleteFile = new FileInfo(fichierSupp);
                DeleteFile.Delete();
                fluxN.ParentNode.RemoveChild(fluxN);
                lstRssXmlDoc.Save(Server.MapPath("lstRss.xml"));
            }
       }

    Dans ce que j'ai vu sur internet, il changeait le commandfield en linkbutton.
    Je l'ai fait mais le pb ce que quand je click sur delete, il ne se passe rien :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <Columns>
    <asp:HyperLinkField headertext="Fichier" datatextfield="nomFlux"
                datanavigateurlformatstring="fluxRSS.aspx?XML={0}" 
                datanavigateurlfields="nomFlux" />
    <asp:BoundField DataField="title" HeaderText="Titre" />
    <asp:BoundField DataField="link" HeaderText="Lien" />
    <asp:CommandField HeaderText="Select" ShowSelectButton="True"/>
    <asp:TemplateField HeaderText="Delete" >
                <ItemTemplate>
                   <asp:Button ID="ibDelete" runat="server"  Text="suppr"
                        CausesValidation="false" CommandName="Delete" />
                </ItemTemplate>
      </asp:TemplateField>
    <asp:CommandField HeaderText="Affichage" EditText="Voir" ShowEditButton="True" />
    </Columns>
     
     
     
    protected void gridOverview_OnRowDataBound(object sender, GridViewRowEventArgs e)
    //Add delete msgbox to each row containing field 
    //information to identify the row
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            // reference the Delete Button
            Button btn = (Button)e.Row.FindControl("ibDelete");
            //btn.Attributes.Add("onclick", "javascript:if(confirm('Etes vous sûr de vouloir supprimer?')== false) return false;");
             btn.Attributes.Add("onclick","javascript:return + confirm('Are you sure about deleting " + DataBinder.Eval(e.Row.DataItem, "nomFlux") + "?');");
        }
     
    }
     
     
     protected void Delete(object sender,GridViewDeleteEventArgs e)
       {
            XmlDocument lstRssXmlDoc = new XmlDocument();
            lstRssXmlDoc.Load(Server.MapPath("lstRss.xml"));
            XmlNodeList fluxNL = lstRssXmlDoc.DocumentElement.ChildNodes;
            XmlNode fluxN = fluxNL.Item(e.RowIndex);
            string stringpath = fluxN["nomFlux"].InnerText;
            string fichierSupp = Server.MapPath(stringpath);
            FileInfo RssFile = new FileInfo(fichierSupp);
            //si le fichier existe
            if (RssFile.Exists)
            {
                FileInfo DeleteFile = new FileInfo(fichierSupp);
                DeleteFile.Delete();
                fluxN.ParentNode.RemoveChild(fluxN);
                lstRssXmlDoc.Save(Server.MapPath("lstRss.xml"));
            }
       }

    Quand je click sur supprimer j'ai bien le confirmation box mais la procédure delete n'est pas éxécuter.

  2. #2
    Membre éclairé Avatar de Wookai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2004
    Messages : 307
    Par défaut
    Hem , c'est un peu du nécropostage, mais je suis tombé là-dessus en googlant une question similaire, et je ne peux m'empêcher de répondre .

    A mon avis, ta solution est juste (même si je ne vois pas le JS pour la confirmation dans ton 2ème bout de code), le seul truc c'est que le CommandName est 'delete' et non 'Delete' (attention aux majuscules ) !

Discussions similaires

  1. confirm box ne renouvelle pas
    Par laomaotou dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/07/2011, 10h40
  2. confirm box a la fermeture d'une fenetre du navigateur
    Par etarip dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/08/2007, 15h21
  3. Gridview + Confirm Box
    Par rainlily dans le forum ASP.NET
    Réponses: 1
    Dernier message: 13/08/2007, 11h43
  4. Utilisation confirm box
    Par TobyKaos dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/07/2006, 17h11
  5. Confirmation Box
    Par georgeabitbol dans le forum ASP
    Réponses: 4
    Dernier message: 01/08/2004, 17h01

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