domingo, 5 de abril de 2009

Mostrar un MessageBox en una página ASP.net

Si es posible mostrar un MessageBox al estilo de un Form de Windows, el único inconveniente esque el mensaje aparece como un elemento externo, si no me entiendes hasta este momento lo entenderás al fina, los pasos son sencillos y aquí te lo pongo (Estos pasos que coloco son mi lógica de programación si alguien puede mejorarlo y lo publica en otro sitio de internet estaría muy agradecido que como referencia coloque mi dirección web).

Antes que nada se supone que ya saben crear un nuevo sitio en Visual Studio 2005 y que ya se tiene agregado un form por lo menos el "Default.aspx".

Se inserta un ASPBUTTON dentro del form (este es solo un ejemplo sencillo) le configuramos las propiedaades que nosotros queramos, yo le cambie el text a "Mostrar Mensaje" y el id del botón a "btnMostrarMensaje".

Le damos clic derecho en el explorador de soluciones y elegimos la opción "Agregar Referencia".

Nos aparece la siguiente Ventana; y elegimos el ensamblado "System.Windows.Forms" que es el contiene el espacio de nombres (namespace) System.Windows.Forms el utilizado en los programas de "WindowsForms", cosa muy diferente en los programas con ASP.net que son "WebForms".

Lo seleccionamos y damos clic en "Aceptar", hasta ahora solo hemos agregado el ensamblado.
En la página de código agregamos el "Espacio de Nombres" "System.Windows.Forms" declarándolo en el encabezado de Namespaces.

En el evento "clic" del Botón escribimos el código correspondiente para mostrar un mensaje con el objeto "Message" y su método "Show()" este ejemplo está en c#.net pero es lo mismo para VB.net.

Listo!!!, ya tienes tu mensaje emergente de Windows y NO es un JavaScript!!!, ejecútalo y compruebalo, te aparederá de la siguiente forma:
¿Ven el inconveniente? El mesaje ocupa un lugar en la barra de tareas independiente de la página. Si alguien lo mejora que me lo haga saber, saludos a todos.

10 comentarios:

Anónimo dijo...

Esta muy bueno tu ejemplo, pero te sugiero q pongas una imagenes mas legibles, x ejemplo donde pones la partes del codigo del messagebox, xq hay personas q apenas incursionan en el mundo de la programación y le gustaria no complicarse tanto tratando de desifrar como es, otra observación de q si porfavor subes ejemplos, serian de mucha ayuda, y sobre todo de ahorro de tiempo.

Anónimo dijo...

Ok, está bien, mejoraré las publicaciones que haga, la imagen tiene buena resolución pero al subirla al blog se disminuyó la calidad. A veces pasa.

Bueno gracias por tus observaciones y muchas gracias por visitar mi Blog.

Mario Aguirre dijo...

COMPIRI RESOLVI EL PEQUEÑO PROBLEMA.

ES COMO PARA NO CREERLO, PERO SI,
ES TAN SOLO CON UN SIMPLE

SETFOCUS.

ESTO SERIA ASI:

DESPUES DE LLAMAR LA FUNCION MESSAGEBOX AGREGAS SETFOCUS.

SetFocus(nombre boton);

// mas explicito

SetFocus(btnMensaje);


y listo eso es todo,


espero que les sirva...bye

Anónimo dijo...

En realidad el ejemplo no está visiblemente claro y segundo, trate de realizarlo y no me sirvió.

Anónimo dijo...

perfecto me funciono a la primero exwpto lo del setfocus ejej saludos

Anónimo dijo...

Esto NO SE DEBE UTILIZAR, ya que se estaría utilizando la librería de windows.forms y solo funciona si el servidor es local y en sistema operativo windows.

@dryancito dijo...

Gracias por tu observación. Para eso esta la opción de comentarios, en verdad que no funcionaria en la Internet, pero en una intranet por supuesto que sí, por experiencia propia lo uso a veces. Buen dia.

Anónimo dijo...

Hago mi Aporte Para los que Leen los Comentarios:

if (MessageBox.Show("¿ Desea Eliminar ? ", "Eliminar", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.ServiceNotification) == DialogResult.No)
{
e.Cancel = true;
mensajeError.Text = "Operación Cancelada";
}
else

mensajeError.Text = "Se Eliminio Correctamente";

Aclaraciones: el MessageBoxOptions.ServiceNotification (Hace que Este en Foto el Mensaje)
Creo que los Otros Mirando las Propiedades que tienen es Facil!
Saludos!

@dryancito dijo...

Gracias por tu Aporte, por el momento no lo he probrado por exceso de trabajo en la oficina, pero en cuanto pueda lo ejecutaré para ver que tal y realizar comentario sobre su ejemplo. Buen día.

Anónimo dijo...

Muchas gracias por el aporte :)