Algunas funciones Javascript útiles para ASP.NET (en C#)

Nunca está de más conocer algunas funciones útiles para hacer más efectiva la programación web en ASP.NET, entre los que uso bastante son:


Ventana de Confirmación (Messagebox del lado del cliente)


Muy útil para pedirle confirmación al usuario cuando se va a hacer algún proceso del cual se puede arrepentir, por ejemplo, pedirle confirmación para borrar algún registro. En el botón donde se va a agregar la lógica para hacerlo, se le agrega el detalle para abrir una ventana y pedir confirmación. En el evento Load de la página es un buen lugar para hacerlo:


    protected void Page_Load(object sender, EventArgs e)
{
btnEliminar.Attributes.Add("onclick",
"return confirm('¿Eliminar registro?');"
);
}

Si el usuario presiona Ok, se ejecutará el código para borrar el registro, si no, es como si nunca hubiera tocado el botón.


Mostrar una ventana con tamaño determinado


A veces necesitamos mostrar una ventana extra independiente del área de trabajo del usuario para información, algún proceso pequeño o algo que para demostrar atención no puedes abrir en un nuevo tab o en otra ventana del navegador. De esta forma incluso podemos dimensionar la ventana emergente con el tamaño adecuado para nuestros fines.


    protected void Page_Load(object sender, EventArgs e)
{
btnNueva.Attributes.Add("OnClick",
"window.open('Nueva.aspx',null,'height=220,width=480');"
);
}

A tomar en cuenta es que el usuario puede tener bloqueadas las ventanas emergentes, así que una buena idea es mostrar en algún lado de la aplicación que desactive para tu sitio este bloqueo.


Cerrar una ventana


Para casos como el anterior donde después de abrir una ventana donde se espera generar trabajo pero no se puede confiar o resultaría muy engorroso para el usuario cerrar manualmente la ventana, conviene usar este método. En el ejemplo está en el evento Click de un botón pero bien puede figurar después de terminado alguna función.


    protected void btnCerrar_Click(object sender, EventArgs e)
{
Response.Write("<script>window.close();</script>");
}

Estas son algunas funciones donde es necesario hacer trabajo del lado del cliente para determinado comportamiento, por lo mismo no es para todas las situaciones y eventos posibles. Lo único es preguntarse si son cosas que no se pueden hacer del lado del servidor o que serían más rápidas y sencillas que se hicieran del lado del cliente.