none
Message box en ASP.NET 2.0

    Pregunta

  • He probado el siguiente codigo

    btn1.Attributes.Add("onclick", "return confirm('Esta seguro de continuar');")

    y tengo un message box en pantalla con los botones aceptar y cancelar. Bueno lo que no encuentro es como saber si el usuario preciono aceptar o cancelar. Podria alguien decirme como se hace eso en ASP.NET 2.0.

     

    Muchas gracias.

    domingo, 10 de junio de 2007 3:14

Respuestas

  • Hola otoniel:

     

    Para una ventana del tipo Aceptar/Cancelar en J a v a S c r i p t:

    Code Snippet
    this.imgBtnAnular.Attributes.Add("OnClick", "javascript:if(confirm('Confirmando anulará la orden. ¿Quiere continuar?')== false) return false;");

     

    Salu2

     

    Colabora con el foro: Si la respuesta te es de utilidad marca la pregunta como respondida.

    Luis Ruiz Pavón

    MCP

    Blog: http://geeks.ms/blogs/lruiz

    lunes, 11 de junio de 2007 7:10
  • Horacio, si la verdad que el codigo anterior funcionaba solo si lo ejecutabas en forma local, algo que a nadie le sirve Sad mil disculpas.

    Aqui dejo una breve explicacion de como llevar a cabo levantar un messagebox en asp.net

    Para lograr levantar un messagebox desde nuestra pagina web utilizaremos JavaScript. Con JavaScript podemos ejecutar cierto tipo de cosas del lado del cliente ademas de validaciones, y eso es lo que usaremos, simplemente ejecutaremos un ALERT(" ... ") y un CONFIRM(" ... ") para simular de esta forma el messagebox tan util que tenemos en los WinForms.

    Los Botones en ASP.Net nos ofrecen una propiedad llamada OnClientClick esta propiedad nos permite agregar codigo script que deseamos se ejecute en el lado del cliente. Ahora bien, lo que haremos sera agregar nuestro codigo javascript en esta propiedad y al ejecutarse el evento OnClick del botón se ejecutara nuestro código.

    * Si deseamos solo mostrar un mensaje?
    En nuestra propiedad OnClientClick escribimos:
    Code Snippet

    alert("Adios Mundo Cruel");



    * Si deseamos confirmar una acción?
    En nuestra propiedad OnClientClick escribimos:
    Code Snippet

    if(!confirm('Esta seguro de resetar su clave?')){return false;};



    * Como funciona el confirm ?
    Nuestro botón ejecuta el codigo y el javascript hace el resto, al presionar "Aceptar" el javascript continua y el evento OnClick de nuestro boton se ejecuta, si presiona "Cancelar" el "if" del "confirm" ejecuta el "return false" y el evento onClick del boton no se ejecuta.

    Otra forma de llevar a cabo la ejecución de estos codigos JavaScript es agregando un nuevo atributo al control de la siguiente manera: (este codigo de ejemplo, se encuentra completo en el ejemplo que se encuentra a desargar mas abajo)

    Code Snippet
     protected void Page_Load(object sender, EventArgs e)
     {
         /*Agregamos este atributo a nuestro boton
         Cuando el usuario haga click en el, el evento on click del boton
         se ejcutara, mostrando el messagebox de confirmacion, cabe destacar que
         el evento del boton se llevara a cabo si y solo si el usuario confirma
    el messagebox*/

    this.btnReset.Attributes.Add(
    "onClick",
    "if(!confirm('Esta seguro de resetar su clave?')){return false;};"
    );

            
        }

        protected void btnReset_Click(object sender, EventArgs e)
        {
            // el usuario confirma la accion y se lleva a cabo el evento onClick del boton
            this.lblmensaje.Text = this.txtUsr.Text + " " + this.lblmensaje.Text;
            this.lblmensaje.Visible=true;
        }

    De esta manera en el onLoad de la pagina se le agrega este atributo al control, que se ejecuta al hacer Click en el boton. Esto es similiar a lo explicado con la propiedad onClientClick mas arriba.

    Aqui te dejo un link al ejemplo completo para que descargues y pruebes.

    Espero que sea util

    Saludos
    Andres Aguirre
    aaguirre03@hotmail.com
    sábado, 31 de mayo de 2008 18:17
  • Hola Marc:

    ¿Has probado con usar dentro de un Response.Write la llamada a javascript con las etiquetas <SCRIPT></SCRIPT>?

    Algo como: 

    Response.Write("<SCRIPT>alert('...');</SCRIPT>");

    sALUDOS
    lunes, 21 de julio de 2008 12:30
  • Hola Marcus,
    veamos si te entiendo, lo que tu quieres es poner javascript ( alert() o confirm () o algun otro codigo ) en la pagina aspx desde tu archivo de codigo (.cs o .vb) . Bueno lo que puedes hacer es lo que dicen aca arriba utilizando un Response.write()

    Por Ejemplo

    String html = "";
    html = "<SCRIPT>";
    html = html + "function hola(var cadena)";
    html = html + "{";
    html = html + " alert(cadena);";
    html = html + "}";
    html = "</SCRIPT>"


    Response.Write(html);

     este codigo se te va a escribir en el aspx cuando "recargues la pagina".

     espero que te sirva !!

    Saludos


    miércoles, 23 de julio de 2008 1:23

Todas las respuestas

  • Para preguntar algo con un message box, yo hago algo asi:

     

     

    Code Snippet

    private void button1_Click(object sender, EventArgs e)

    {

    if (MessageBox.Show("¿Esta seguro que desea continuar?", "Pregunta", MessageBoxButtons.OKCancel) == DialogResult.OK)

    {

    //El usuario desea continuar

    MessageBox.Show("El usuario continua", "Respuesta", MessageBoxButtons.OK);

    }

    else

    {

    //El usuario no desea continuar

    MessageBox.Show("El usuario no continua", "Respuesta", MessageBoxButtons.OK);

    }

    }

     

    Espero que te sirva.

    Saludos

    domingo, 10 de junio de 2007 20:49
  • Gracias por la respuesta, pero probe el codigo y solo funciona en ambiente windows.

    Ya descubri que con el codigo que envie en mi pregunta no tengo que averiguar por mi cuenta si el usuario a precionado a ceptar para realizar una determinada operacion.

    domingo, 10 de junio de 2007 21:42
  • Hola otoniel:

     

    Para una ventana del tipo Aceptar/Cancelar en J a v a S c r i p t:

    Code Snippet
    this.imgBtnAnular.Attributes.Add("OnClick", "javascript:if(confirm('Confirmando anulará la orden. ¿Quiere continuar?')== false) return false;");

     

    Salu2

     

    Colabora con el foro: Si la respuesta te es de utilidad marca la pregunta como respondida.

    Luis Ruiz Pavón

    MCP

    Blog: http://geeks.ms/blogs/lruiz

    lunes, 11 de junio de 2007 7:10
  • Hola, mira ese codigo te funcionara en en un Ambiente Windows Forms, te dire porque:

    El control MessageBox pertenece a clase System.Windows.Forms,  y seguramente tu en tu proyecto asp.net no lo tienes referenciado.

     

    La buena noticia es que podemos utilizar el messagebox en un ASP.Net de la diguiente manera.

     

    1) Debemos agregar el namespace correspondiente a nuestra pagina (aspx).

    using System.Windows.Forms;

     

    2)  Luego solo utilizamos nuestro messagebox con todas sus funcionalidades como en este ejemplo:

    Code Snippet
     

    // Variable para obtener el resultado que devolvera nuestro MessageBox

    DialogResult resultado;

     

    // Utilizacion del MessageBox

    resultado = MessageBox.Show("Desea Continuar ?",

    "Confirmacion",

    MessageBoxButtons.YesNo,

    MessageBoxIcon.Question,

    MessageBoxDefaultButton.Button2,

    MessageBoxOptions.ServiceNotification);

     

    /*

    MessageBoxOptions.ServiceNotification la utilizo para que el msg quede maximizado sobre la pagina de tu   browser, dispones de mas opciones para tu MessageBox

    */

     

    // Recibo el resultado de la seleccion del usuario

    if (result == DialogResult.Yes)

    {         // Confirmo que si entonces se continua

    this.confirmacion();

    }

     

     

     

     

     

    3) Esto es todo, ya tienes un messagebox bastante lindo con muy buena funcionalidad, dispones de eventos y todo listo para tu Pagina ASP.Net.

     

     

    Puedes ver mas sobre el MessageBox en

    http://msdn2.microsoft.com/es-es/library/system.windows.forms.messagebox.show(VS.80).aspx

     

     

    Espero le sirva a alguien, este post.

    Saludos

    Andres Aguirre

    Cordoba - Argentina

     

    • Propuesto como respuesta TazzRVMalaga lunes, 14 de diciembre de 2009 22:46
    lunes, 03 de marzo de 2008 14:19
  •  

    Probe usarlo pero nope.. no andubo.. no se como es que logras referenciar System.Windows.Forms ...

     

    Les recomiendo este site.. SALUDOS

     

    http://www.codeproject.com/KB/webforms/AspNetMsgBox.aspx

    sábado, 31 de mayo de 2008 1:17
  • Horacio, si la verdad que el codigo anterior funcionaba solo si lo ejecutabas en forma local, algo que a nadie le sirve Sad mil disculpas.

    Aqui dejo una breve explicacion de como llevar a cabo levantar un messagebox en asp.net

    Para lograr levantar un messagebox desde nuestra pagina web utilizaremos JavaScript. Con JavaScript podemos ejecutar cierto tipo de cosas del lado del cliente ademas de validaciones, y eso es lo que usaremos, simplemente ejecutaremos un ALERT(" ... ") y un CONFIRM(" ... ") para simular de esta forma el messagebox tan util que tenemos en los WinForms.

    Los Botones en ASP.Net nos ofrecen una propiedad llamada OnClientClick esta propiedad nos permite agregar codigo script que deseamos se ejecute en el lado del cliente. Ahora bien, lo que haremos sera agregar nuestro codigo javascript en esta propiedad y al ejecutarse el evento OnClick del botón se ejecutara nuestro código.

    * Si deseamos solo mostrar un mensaje?
    En nuestra propiedad OnClientClick escribimos:
    Code Snippet

    alert("Adios Mundo Cruel");



    * Si deseamos confirmar una acción?
    En nuestra propiedad OnClientClick escribimos:
    Code Snippet

    if(!confirm('Esta seguro de resetar su clave?')){return false;};



    * Como funciona el confirm ?
    Nuestro botón ejecuta el codigo y el javascript hace el resto, al presionar "Aceptar" el javascript continua y el evento OnClick de nuestro boton se ejecuta, si presiona "Cancelar" el "if" del "confirm" ejecuta el "return false" y el evento onClick del boton no se ejecuta.

    Otra forma de llevar a cabo la ejecución de estos codigos JavaScript es agregando un nuevo atributo al control de la siguiente manera: (este codigo de ejemplo, se encuentra completo en el ejemplo que se encuentra a desargar mas abajo)

    Code Snippet
     protected void Page_Load(object sender, EventArgs e)
     {
         /*Agregamos este atributo a nuestro boton
         Cuando el usuario haga click en el, el evento on click del boton
         se ejcutara, mostrando el messagebox de confirmacion, cabe destacar que
         el evento del boton se llevara a cabo si y solo si el usuario confirma
    el messagebox*/

    this.btnReset.Attributes.Add(
    "onClick",
    "if(!confirm('Esta seguro de resetar su clave?')){return false;};"
    );

            
        }

        protected void btnReset_Click(object sender, EventArgs e)
        {
            // el usuario confirma la accion y se lleva a cabo el evento onClick del boton
            this.lblmensaje.Text = this.txtUsr.Text + " " + this.lblmensaje.Text;
            this.lblmensaje.Visible=true;
        }

    De esta manera en el onLoad de la pagina se le agrega este atributo al control, que se ejecuta al hacer Click en el boton. Esto es similiar a lo explicado con la propiedad onClientClick mas arriba.

    Aqui te dejo un link al ejemplo completo para que descargues y pruebes.

    Espero que sea util

    Saludos
    Andres Aguirre
    aaguirre03@hotmail.com
    sábado, 31 de mayo de 2008 18:17
  • Yo tengo una pregunta y es la siguiente:

    Como podria meter el alert o el confirm en medio del codigo script de la pagina aspx.cs? a lo k me refiero esque no quiero que se me dispare al pulsar un boton.

    Por ejemplo

    Code Snippet

    if (x==5)
    //Mostrar dialog.
    else
    //Mostrar un dialog distinto.


    Gracias por la ayuda.
    lunes, 21 de julio de 2008 11:26
  • Hola Marc:

    ¿Has probado con usar dentro de un Response.Write la llamada a javascript con las etiquetas <SCRIPT></SCRIPT>?

    Algo como: 

    Response.Write("<SCRIPT>alert('...');</SCRIPT>");

    sALUDOS
    lunes, 21 de julio de 2008 12:30
  • Hola Marcus,
    veamos si te entiendo, lo que tu quieres es poner javascript ( alert() o confirm () o algun otro codigo ) en la pagina aspx desde tu archivo de codigo (.cs o .vb) . Bueno lo que puedes hacer es lo que dicen aca arriba utilizando un Response.write()

    Por Ejemplo

    String html = "";
    html = "<SCRIPT>";
    html = html + "function hola(var cadena)";
    html = html + "{";
    html = html + " alert(cadena);";
    html = html + "}";
    html = "</SCRIPT>"


    Response.Write(html);

     este codigo se te va a escribir en el aspx cuando "recargues la pagina".

     espero que te sirva !!

    Saludos


    miércoles, 23 de julio de 2008 1:23
  • Bueno, quizá sea un poco tarde para responder a tu pregunta pero el tema está en que en ASP.NET no puede utilizarse la Clase MessageBox. Para resolver el problema hay que crear un Script y registrarlo en la página donde debe mostrarse el mensaje asociado a algún evento de la página, como puede ser un evento "click" como es tu caso. 
    En el siguiente enlace tienes el código completo:

    http://salvatrosh.blogspot.com/

    Espero que te sea útil.
    sábado, 01 de agosto de 2009 20:16
  • Siempre que se trabaje en ASP.Net hay que pensar que las aplicaciones se ejecutan en el lado del servidor....

    • Editado salvatrosh jueves, 06 de agosto de 2009 18:16
    jueves, 06 de agosto de 2009 17:54
  • ¿Cómo qué no se puede usar Messagebox en ASP.Net?
    Al menos en la versión 2.0 basta con incluir una referencia a System.Windows.Forms:
    • Vamos a nuestro explorador de soluciones.
    • Abrimos nuestra solución.
    • En la carpeta que pone References: hacemos click con el botón derecho y le damos a añadir referencia.
    • Buscamos System.Windows.Forms y le damos a aceptar.

    Posteriormente declaramos el namespace:
    • using System.Windows.Forms en C#.
    • Imports System.Windows.Forms en Visual Basic.Net.

    Y ya podemos usar nuestro messagebox tranquilamente:
    • MessageBox.Show(":)");

    lunes, 14 de diciembre de 2009 22:45
  • Pero se me hace que al usar esto el MessageBox se veria en la maquina del servidor...pero no en la del cliente...

    Creo que eso pasaria....pero no me hagan mucho caso...
     

    Sera?
    miércoles, 30 de diciembre de 2009 23:47
  • Aqui lo interesante de este tema es..

    Como le agregas el confirm a una boton de un GRIDVIEW para borrar que ya viene direccionado al evento "GRIDRowDeleting"?

    O direccionas el evento al alert o lo poner al otro evento...ahi como que????
    miércoles, 30 de diciembre de 2009 23:49
  • Horacio, si la verdad que el codigo anterior funcionaba solo si lo ejecutabas en forma local, algo que a nadie le sirve Sad mil disculpas.

    Aqui dejo una breve explicacion de como llevar a cabo levantar un messagebox en asp.net

    Para lograr levantar un messagebox desde nuestra pagina web utilizaremos JavaScript. Con JavaScript podemos ejecutar cierto tipo de cosas del lado del cliente ademas de validaciones, y eso es lo que usaremos, simplemente ejecutaremos un ALERT(" ... ") y un CONFIRM(" ... ") para simular de esta forma el messagebox tan util que tenemos en los WinForms.

    Los Botones en ASP.Net nos ofrecen una propiedad llamada OnClientClick esta propiedad nos permite agregar codigo script que deseamos se ejecute en el lado del cliente. Ahora bien, lo que haremos sera agregar nuestro codigo javascript en esta propiedad y al ejecutarse el evento OnClick del botón se ejecutara nuestro código.

    * Si deseamos solo mostrar un mensaje?
    En nuestra propiedad OnClientClick escribimos:
    Code Snippet

    alert("Adios Mundo Cruel");


    * Si deseamos confirmar una acción?
    En nuestra propiedad OnClientClick escribimos:
    Code Snippet

    if(!confirm('Esta seguro de resetar su clave?')){return false;};


    * Como funciona el confirm ?
    Nuestro botón ejecuta el codigo y el javascript hace el resto, al presionar "Aceptar" el javascript continua y el evento OnClick de nuestro boton se ejecuta, si presiona "Cancelar" el "if" del "confirm" ejecuta el "return false" y el evento onClick del boton no se ejecuta.

    Otra forma de llevar a cabo la ejecución de estos codigos JavaScript es agregando un nuevo atributo al control de la siguiente manera: (este codigo de ejemplo, se encuentra completo en el ejemplo que se encuentra a desargar mas abajo)

    Code Snippet
     protected void Page_Load(object sender, EventArgs e)
     {
         /*Agregamos este atributo a nuestro boton
         Cuando el usuario haga click en el, el evento on click del boton
         se ejcutara, mostrando el messagebox de confirmacion, cabe destacar que
         el evento del boton se llevara a cabo si y solo si el usuario confirma
    el messagebox*/

    this.btnReset.Attributes.Add(
    "onClick",
    "if(!confirm('Esta seguro de resetar su clave?')){return false;};"
    );

            
        }

        protected void btnReset_Click(object sender, EventArgs e)
        {
            // el usuario confirma la accion y se lleva a cabo el evento onClick del boton
            this.lblmensaje.Text = this.txtUsr.Text + " " + this.lblmensaje.Text;
            this.lblmensaje.Visible=true;
        }

    De esta manera en el onLoad de la pagina se le agrega este atributo al control, que se ejecuta al hacer Click en el boton. Esto es similiar a lo explicado con la propiedad onClientClick mas arriba.

    Aqui te dejo un link al ejemplo completo para que descargues y pruebes.

    Espero que sea util

    Saludos
    Andres Aguirre
    aaguirre03@hotmail.com
    esto me funcionó perfecto....
    viernes, 27 de mayo de 2011 19:06
  • ¿Cómo qué no se puede usar Messagebox en ASP.Net?
    Al menos en la versión 2.0 basta con incluir una referencia a System.Windows.Forms:
    • Vamos a nuestro explorador de soluciones.
    • Abrimos nuestra solución.
    • En la carpeta que pone References: hacemos click con el botón derecho y le damos a añadir referencia.
    • Buscamos System.Windows.Forms y le damos a aceptar.
    Posteriormente declaramos el namespace:
    • using System.Windows.Forms en C#.
    • Imports System.Windows.Forms en Visual Basic.Net.
    Y ya podemos usar nuestro messagebox tranquilamente:
    • MessageBox.Show(":)");

     

    SI QUIEREN MESSAGEBOX.SHOW HAGAN EL PROCEDIMIENTO QUE INDICA 

     

    TazzRVMalaga
    FUNCIONA PERFECTOOO ;)
    viernes, 16 de diciembre de 2011 17:43
  • perfecto en tu maquina, o cuando este en producción, en el servidor, pero en web no se debe usar la clase messagebox por mas que te deje agregar la referencia y el codigo compile, las aplicaciones windows y web funcionan bajo arquitecturas diferentes, lo que lograrás será hacer el MessageBox.Show en el servidor y los equipos cliente que acceden al sitio ni se darán por enterados.

     

    Saludos

    • Propuesto como respuesta gblumen martes, 22 de octubre de 2013 13:07
    viernes, 16 de diciembre de 2011 18:29