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 :

[C#][JS] Boite de dialogue Confirm


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 180
    Points : 61
    Points
    61
    Par défaut [C#][JS] Boite de dialogue Confirm
    Bonjour!!!

    JE souhaiterai lors d'un clic sur un bouton supprimer d'un datagrid, afficher une boite de dialogue Confirm(oui/annuler), qui permettera de supprimer ou pas les données corespondants.

    Voici mon code :
    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
    private void DataGridNiveau_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    	if(e.CommandName.Equals("Supprimer"))
    	{
    		int id=int.Parse(e.Item.Cells[0].Text);
    		objniveau = new NiveauEtude(id);
    		string js ="<script type='text/javascript' language='javascript'>";
    		js+="if (confirm('Vous désirez vraiment quitter?')){
                              //ici je souhaite supprimer mon objNiveau avec (objniveau.Delete();)}";
    		js+="else {//ne rien faire}</script>";				
    		Response.Write(js);
    		objniveau.Delete();
    		Session["modified"]="false";
    	}
    	BindData();
    }
    Je sais afficher la boite de dialogue mais je ne sais pas comment supprimer ou ne pas mon objet associer la ligne de mon dataGrid...
    Il me le supprime à chaque fois....

    Merci d'avance.

  2. #2
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Une solution est d'affecter une valeur à une variable js dans ton if et ton else (par exemple ConfirmationSuppression= oui/non)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.RegisterHiddenField("ConfirmationSuppression", "");
    Puis tu recharges ta page et dans le page load tu va chercher ta variable js.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    string[] ConfirmationSuppression;
    					ConfirmationSuppression= Page.Request.Form.GetValues("ConfirmationSuppression");
    					string ValeurConfirmation = "";
    					ValeurConfirmation = ConfirmationSuppression[0];
    Tu testes cette valeur et tu exécutes le traitement afin de supprimer ta ligne.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 180
    Points : 61
    Points
    61
    Par défaut
    je ne comprends pas très bien ou je dois placer les codes c'est dans mon code javascript???

  4. #4
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Non tout va être dans ton code behind

    Le Page.RegisterHiddenField va être au début de ton if(e.CommandName.Equals("Supprimer"))

    L'autre bout de code dans ton Page_Load.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 180
    Points : 61
    Points
    61
    Par défaut
    En gros je dois faire quelque chose dans ce genre :

    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
     
     
    string[] ConfirmationSuppression;
    string ValeurConfirmation = "";
     
    private void Page_Load(object sender, System.EventArgs e)
    {
         Page.RegisterHiddenField
    }
     
    private void DataGridNiveau_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    	if(e.CommandName.Equals("Supprimer"))
    	{
    		int id=int.Parse(e.Item.Cells[0].Text);
    		objniveau = new NiveauEtude(id);
    		string js ="<script type='text/javascript' language='javascript'>";
    		js+="if (confirm('Vous désirez vraiment quitter?')){
                              //ici je souhaite supprimer mon objNiveau avec (objniveau.Delete();)}";
    		js+="else {//ne rien faire}</script>";	
     
                             	ConfirmationSuppression= Page.Request.Form.GetValues("ConfirmationSuppression");
    		ValeurConfirmation = ConfirmationSuppression[0];			
     
    		Response.Write(js);
                              if(ValeurConfirmation )
                             {
                              //suppression de mon objet
    		objniveau.Delete();
    		Session["modified"]="false";
                              }
    	}
    	BindData();
    }

  6. #6
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Nope.
    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
    private void DataGridNiveau_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    	if(e.CommandName.Equals("Supprimer"))
    	{
    		Page.RegisterHiddenField("ConfirmationSuppression", "");
    		int id=int.Parse(e.Item.Cells[0].Text);
    		objniveau = new NiveauEtude(id);
    		string js ="<script type='text/javascript' language='javascript'>";
    		js+="if (confirm('Vous désirez vraiment quitter?')){
                              ConfirmationSuppression = "oui";
    		js+="else {ConfirmationSuppression = "non";}</script>";				
    		Response.Write(js);
    		objniveau.Delete();
    		Session["modified"]="false";
    	}
    	BindData();
    }
    Et dans ton page_load
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private void Page_Load(object sender, System.EventArgs e)
    {
    	string[] ConfirmationSuppression;
    	ConfirmationSuppression= Page.Request.Form.GetValues("ConfirmationSuppression");
    	string ValeurConfirmation = "";
    	ValeurConfirmation = ConfirmationSuppression[0];
            /* Puis test de ta valeur */
            if (ValeurConfirmation.Equals("oui")) {
                    objniveau.Delete();
            }
    }
    le tout est de sauvegarder en session (par exemple) ton objniveau

    Le tout à une vache près

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 180
    Points : 61
    Points
    61
    Par défaut
    Ok merci de me répondre aussi vite...

    Je vais essayer, et je vous tiens au courant.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 180
    Points : 61
    Points
    61
    Par défaut
    J'ai eu une erreur lors du chargement de la page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Détails de l'exception: System.NullReferenceException: 
    La référence d'objet n'est pas définie à une instance d'un objet.
     
    Erreur source: 
    Ligne 55 : ConfirmationSuppression= Page.Request.Form.GetValues("ConfirmationSuppression");
    Ligne 56 : string ValeurConfirmation = "";
    Ligne 57 : ValeurConfirmation = ConfirmationSuppression[0];
    Ligne 58 : /* Puis test de ta valeur */
    Ligne 59 : if (ValeurConfirmation.Equals("oui"))
    Pourriez vous me dire pourquoi?

  9. #9
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Ah oui j'ai oublié
    la partie que j'ai mis dans ton page_load doit être conditionnée par un !IsPostBack si je me souviens bien

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 180
    Points : 61
    Points
    61
    Par défaut
    oui c'est ce que j'ai fais du moin je crois :

    Voici mon code :
    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
     
    if(!Page.IsPostBack)
    {
       //ce que je fais lors du 1er chargement de ma page
    }
    else
    {
    	string[] ConfirmationSuppression;
    	ConfirmationSuppression= Page.Request.Form.GetValues("ConfirmationSuppression");
    	string ValeurConfirmation = "";
    	ValeurConfirmation = ConfirmationSuppression[0];
     
    	/* Puis test de ta valeur */
    	if (ValeurConfirmation.Equals("oui")) 
    	{
    		int id = int.Parse(Session["idNiveau"].ToString());
    		objniveau = new NiveauEtude(id);
    		objniveau.Delete();
    	}		
    }

  11. #11
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Tu as regardé s'il executait bien ton js en mettant un alert dedans peut-être?

  12. #12
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Sinon essaye comme c'est indiqué ici
    http://dotnet.developpez.com/faq/asp...commandconfirm

    C'est plus simple

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Points : 295
    Points
    295
    Par défaut
    Il y a plus simple, et ca suffit: marche en 1.1 et et 2.0

    monbutton.Attributes.Add("onClick", "return confirm('Save changes ?');");

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 180
    Points : 61
    Points
    61
    Par défaut
    Alors oui, j'ai vérifier. Il fonctionne correctement si j'enlève la parti du code dans le page_load.

    Avant d'afficher la boite de dialogue, il recharge la page et passe d'abord dans le page_load. Donc s'il y a une erreur et bien ca ne fonctionne pas. Et c'est malheureusement le cas.

    Lorsque j'ai mis un point d'arrêt il ne veut pas passer dans string[] ConfirmationSuppression;

    Pourquoi? je ne sais pas.
    Je vous repasse mon code :
    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
     
    if(!Page.IsPostBack)
    {
    	Session["modified"] = "false";
    	BindData();
    }
    else
    {
    	string[] ConfirmationSuppression;
    	ConfirmationSuppression= Page.Request.Form.GetValues("ConfirmationSuppression");
    	string ValeurConfirmation = "";
    	ValeurConfirmation = ConfirmationSuppression[0];
     
    	/* Puis test de ta valeur */
    	if (ValeurConfirmation.Equals("oui")) 
    	{
    		int id = int.Parse(Session["idNiveau"].ToString());
    		objniveau = new NiveauEtude(id);
    		objniveau.Delete();
    	}		
    }
    Est bien comme ça qu'on qu'on doit le déclarer???

    Merci d'avance

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 180
    Points : 61
    Points
    61
    Par défaut
    Il y a plus simple, et ca suffit: marche en 1.1 et et 2.0


    Citation:
    monbutton.Attributes.Add("onClick", "return confirm('Save changes ?');");
    Ce n'est pas un boutton... C'est une ImageButton d'un datagrid, donc je n'ai pas l'événement "onclick"(Je peux me tromper alors corrigé moi si c'est le cas...)...

    Alors est ce que cette methode fonctionne quand même?????

  16. #16
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Points : 295
    Points
    295
    Par défaut
    Ca marche aussi dans les ImageButton d'un datagrid

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 180
    Points : 61
    Points
    61
    Par défaut
    Pourrez me dire comment s'il te plais ou bien me donner un lien qui l'expliquerai assez simplement.

    Merci d'avance.
    un débutant en ASP.net et c#

  18. #18
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Je pense que si tu utilises la méthode donnée en lien un peu plus haut cela fonctionne aussi avec les imagebuttons


    @Oberown : Tiens interessent. Je ne savais pas qu'on pouvait faire aussi simple. Je le notes dans un coin

  19. #19
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Points : 295
    Points
    295
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach(datagriditem item in tondatagrid.Items)
    {
    ImageButton tonImageButton = (ImageButton)item.findcontrol("tonImageButton");
    tonImageButton.Attributes.Add("onClick", "return confirm('Save changes ?');"); 
    }

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 180
    Points : 61
    Points
    61
    Par défaut
    Merci de m'avoir répondu!!!!

    Je voudrai savoir je doi le mettre dans quel événement ce bout de code???

    Code :
    foreach(datagriditem item in tondatagrid.Items)
    {
    ImageButton tonImageButton = (ImageButton)item.findcontrol("tonImageButton");
    tonImageButton.Attributes.Add("onClick", "return confirm('Save changes ?');");
    }

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Redéfinition boite de dialogue confirm avec jConfirm
    Par allserv dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/04/2010, 11h20
  2. récuperer la valeur d'une boite de dialogue confirm
    Par hachdotnet dans le forum ASP.NET
    Réponses: 1
    Dernier message: 03/11/2008, 01h59
  3. boite de dialogue confirm
    Par neoboy dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 26/09/2007, 09h22
  4. boite de dialogue confirm()
    Par Medmidou dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/08/2007, 08h08
  5. Boite de dialogue confirm action
    Par Invité dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 29/05/2007, 12h00

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