Invocar código .Net desde JavaScript
Aunque este debería ser un tema ya conocido, aún existen quienes no conocen la forma de hacer invocaciones al código compilado de .Net (sea VB .Net o C#) desde el código cliente utilizando JavaScript. Para quienes desarrollamos aplicaciones web con ASP .Net suele ser frecuente la necesidad de ejecutar alguna acción o recuperar algún dato sin recargar la página completa; de eso se trata este artículo.
Para empezar con este ejemplo, deben descargar la DLL Ajax Pro.2, que es la Librería que permite hacer este trabajo. Sin embargo, no deben utilizar la última versión (7.7.31.1), sino la versión anterior (6.10.6.2), ya que la última versión de esta libreria contiene un BUG del cual ya he comentado antes.
Para empezar, una vez descargada la DLL, solo hay que copiarla dentro de la carpeta Bin en el Sitio Web, y luego configurar el archivo Web.Config con información que permita registrar la DLL, mas o menos como muestra la siguiente imágen:

Como se puede apreciar la parte importante se encuentra en la sección location de la imágen, de modo que no resulta muy complicado de entender. Luego se debe registrar esta DLL dentro de la página en la que se desea invocar, como se muestra en la siguiente imágen:

Una vez, que se ha registrado la DLL en la página, pues solo queda utilizarlo en el cliente, para hacerlo, dentro de una función de JavaScript llamamos a la función anteponiendo el nombre del Namespace que hemos definido, por ejemplo: var resultado = DemoAjaxPro.RecuperarSaludo().value si el método es invocado síncronamente o DemoAjaxPro.RecuperarSaludo(evento_CallBack) si es una invocación asíncrona, en cuyo caso evento_CallBack es una función de JavaScript que se ejecutará cuando el método se haya completado.
En realidad se trata de una muy útil forma de comunicar código de cliente con código de .Net y como se ve es bastante sencillo de utilizar. Como ya se imaginarán, pueden descargar la aplicación de ejemplo sin ningún problema para probarlo y modificarlo a su antojo.
Espero que les sea de utilidad.
Saludos.






Diciembre 12th, 2008 at 1:54 am
Bueno el articulo H@nz , aparecio en el momento indicado…….. una Luz al final del camino. .. a seguir adelante recien empieza la noche.
Team Developer Comacsa
Enero 9th, 2009 at 3:55 pm
Muy bueno, pero trate de usarlo en un proyecto que tiene namespaces y no funciono (al mismo ejemplo que descargue de aqui, al incluirlo en un namespace, ya me dio error). Alguna idea de como solucionarlo, no voy a tener problemas con las masterpages tambien? si tenes alguna idea de como solucionar lo de los namespaces me vendría de diez, gracias.