viernes, 31 de julio de 2009

Mostrar un mensaje en pantalla en una aplicación web ASP.Net

Puesto que en las aplicaciones web de ASP.Net no pueden utilizarse las Clases "MessageBox" ni "MsgBox" para mostrar un mensaje en pantalla, en este tipo de aplicaciones habrá que crear un método con el código adecuado y llamarlo, por ejemplo, desde el "evento Load" de la página en la que debe mostrarse.

El método que construye el mensaje en tiempo de ejecución debe seguir los siguientes pasos:
1º. Crear el Script.
2º. Registrarlo en la página en la que debe mostrarse el mensaje para que quede asociado a la petición al Servidor.
3º. Asociarlo a algún evento que pueda desencadenarse en esa página. Por ejemplo, al evento "click" de un "botón".

Veamos el código:


   1:  using System;
   2:  using System.Collections.Generic;
   3:  using System.Linq;
   4:  using System.Web;
   5:  using System.Web.UI;
   6:   
   7:  namespace BlogSalvatrosh
   8:  {
   9:      public class Script : System.Web.UI.UserControl
  10:      {
  11:          /// <summary>
  12:          /// Este método registra en la página que vaya a cargarse un mensaje escrito en código JavaScript que solicita al usuario la confirmación de la eliminación de un registro y se asocia al evento "onclick" del botón Eliminar. Cuando se pulse el botón eliminar el mensaje se mostrará en pantalla.
  13:          /// </summary>
  14:          public void AsociarScriptMensajeAdvertencia()
  15:          {
  16:              //Creamos un Script en lenguaje "javascript" que asociaremos luego a la petición al servidor
  17:              System.Text.StringBuilder script = new System.Text.StringBuilder();
  18:              //Iremos concatenando el código hasta completar la función "MensajeAdvertencia()" que se ejecutará en el servidor
  19:              //tras el registro de la página:
  20:              script.Append("<script type= 'text/javascript' language= 'javascript'>");   //Se abre la etiqueta del Script y se indica que es de tipo javascript
  21:              script.Append("function MensajeAdvertencia(mensaje){");   //Nombre de la función javascript que recibe como parámetro un mensaje de texto
  22:              script.Append("if(!window.confirm(mensaje)){");  //Si el usuario hace click en "cancelar"
  23:              script.Append("event.returnValue=false;");  //A la propiedad "returnValue" del Evento  "event" se le asigna el valor "false" 
  24:              script.Append("return false;"); //Y se retorna false
  25:              script.Append("}");
  26:              script.Append("else{"); //En caso contrario, es decir, si el usuario hace click en "Aceptar"
  27:              script.Append("return true;");  //Se retorna true
  28:              script.Append("}");
  29:              script.Append("}");
  30:              script.Append("</script>"); //Se cierrra la etiqueta del Script
  31:   
  32:              //Registramos el script en la página que vaya a cargarse:
  33:              this.Page.ClientScript.RegisterStartupScript(typeof(Page), this.ClientID + "script", script.ToString());
  34:   
  35:              //Asociamos el atributo "onclick" del botón "BotonEliminar" a la funcion "MensajeAdvertencia" que se encuentra en el script registrado en el punto anterior
  36:              this.BotonEliminar.Attributes.Add("onclick", "javascript:MensajeAdvertencia('Desea eliminar este registro de la Base de Datos?');");
  37:          }
  38:      }
  39:  }

No hay comentarios:

Publicar un comentario

Webs amigas:
Eduardo Soriano
Solcan
Taller de Joyería