none
MessageBox.show non accepté RRS feed

  • Question

  • Bonjour,

     

    J'ai un petit probleme, en fait je suis deja au courant que MessageBox.show n'est pas accepté pour developper un site, il faut utiliser

    Response.Write("<body><script>alert('rien ne marche');</script></script>");

     

    Le probleme est cela n'ont plus ne marche pas, enfin si de temps en temps il cela se passe bien. J'ai aussi essayé avec ScriptManager.RegisterStartupScript mais celui aussi ne marche que partiellement (voire pas du tout).

    J'utilise Ajax et je developpe en C#.

     

    J'ai aussi une autre question, j'utilise un bouton qui a un validationgroup qui marche tres bien, seulement si ce fait

    Bt.Attributes.Add("onclick", "return confirm('Are you sure to want to do this?');");

    Je n'ai plus de verifications sur les champs du validationGroup.

     

    Voila j'espere que vous pourrez m'aider car je desespere, surtout avec les messagebox :'(

     

    Merci beaucoup!

    lundi 22 mars 2010 18:59

Réponses

  • Bonjour,

     

    Pour un messagebox vous pouvez utiliser soit java script, soit System.Windows.Forms.

     

    Voici un exemple pour javascript. On va créer un bouton qui affiche un message box quand il est cliqué :

     

    1.   Ajoutez le bouton Button1 sur la page

    2.   Dans la partie de code :

     

    protected void Page_Load(object sender, EventArgs e)
            {
                if (!Page.IsPostBack)
                {
                    this.Button1.Attributes.Add("onclick", "return confirm('la?');");
                }
            }

     

     

     

    Vous pouvez utiliser aussi Response.Write :

    protected void Page_Load(object sender, EventArgs e)
            {
    Response.Write("<script>alert('blabla');</script>"); 
    }

     

     

    Enfin, il est possible d’utiliser la référence System.Windows.Forms pour avoir accès à MessageBox.Show.

    Ajoutez une référence à System.Windows.Forms et utilisez MessageBox.Show dans la fonction associée avec l’évènement click de votre bouton :

     

    using System.Windows.Forms;
    protected void Button1_Click(object sender, EventArgs e)
            {
                MessageBox.Show("win msgbox");
     
            }

     

    Cordialement,

    Alex

     
     
    Alex Petrescu - MSFT
    mardi 23 mars 2010 10:56

Toutes les réponses

  • Bonjour,

     

    Pour un messagebox vous pouvez utiliser soit java script, soit System.Windows.Forms.

     

    Voici un exemple pour javascript. On va créer un bouton qui affiche un message box quand il est cliqué :

     

    1.   Ajoutez le bouton Button1 sur la page

    2.   Dans la partie de code :

     

    protected void Page_Load(object sender, EventArgs e)
            {
                if (!Page.IsPostBack)
                {
                    this.Button1.Attributes.Add("onclick", "return confirm('la?');");
                }
            }

     

     

     

    Vous pouvez utiliser aussi Response.Write :

    protected void Page_Load(object sender, EventArgs e)
            {
    Response.Write("<script>alert('blabla');</script>"); 
    }

     

     

    Enfin, il est possible d’utiliser la référence System.Windows.Forms pour avoir accès à MessageBox.Show.

    Ajoutez une référence à System.Windows.Forms et utilisez MessageBox.Show dans la fonction associée avec l’évènement click de votre bouton :

     

    using System.Windows.Forms;
    protected void Button1_Click(object sender, EventArgs e)
            {
                MessageBox.Show("win msgbox");
     
            }

     

    Cordialement,

    Alex

     
     
    Alex Petrescu - MSFT
    mardi 23 mars 2010 10:56
  •  

    Merci pour votre aide,

    Voivi le message retourné lorsque j'utilise une messageBox :

    Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.

    La methode Response.write marche que lorsque je la place dans un Page_Load sinon rien n'est excecuté et j'en ai malheureusement besoin pr des endroits differents du Page_Load.

    mardi 23 mars 2010 13:20
  • Bonjour,

    Si le serveur se trouve sur la même machine, vous pouvez utiliser MessageBox. Sinon, ce n’est pas possible, car le message box sera affiche sur le serveur et pas sur le client.

     

    La solution avec this.Button1.Attributes.Add ne marche pas ?

    Quels sont les autres cas ou vous avez besoin d’afficher un message box ?

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    mercredi 24 mars 2010 12:35
  • Bonjour,

     

    En fait je souhaite faire apparaitre des messages pas forcement au click sur un bouton. Par exemple, lorsque l'utilisateur valide une page, le traitement des info soit fait puis seulement je lui retourne un message type "tout c'est bien passé".

    Pour cela j'utilise response.write("<body><script>etc...

    mais cela ne marche que dans le pageload, du coup je crée des variable des session genre Session["isOk"] = true et dans le pageLoad je fais

    if  ( Session["isOk"] != null)

               if Session["isOk"].toString().Equals("true")

                      response.Write(....)

     

    Et je me demande s'il y aurai pas un moyen plus propre.

    mercredi 24 mars 2010 20:13
  • Bonjour,

    Je pense que la solution sera soit un messagebox soit une fenetre modale

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    jeudi 25 mars 2010 11:37
  • Lorsque j'utilise  messagebox.show, j'ai ce message

    Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.

     

    et donc si j'utilise une fenetre modale je risque d'avoir le meme probleme non?

     


    jeudi 25 mars 2010 13:47
  • Bonjour,

     

    Dans l’exemple que je vous ai indiqué, la fenêtre modale fonctionne et elle est implémentée a l’aide de java script. Essayez cet exemple et vous pouvez ouvrir un nouveau thread si vous rencontrez un problème particulier.

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    jeudi 25 mars 2010 14:10
  • dacodac je test sa lundi.

    Merci beaucoup!!

    jeudi 25 mars 2010 15:11