En las aplicaciones web modernas requerimos hacer pedidos al servidor sin tener que hacer un postback completo. Esto es posible utilizando AJAX (Asynchronous JavaScript and XML) que nos permite comunicarnos con el servidor sin hacer un postback completo. AJAX puede ser usado para refrescar áreas de la aplicación web, para grabar información en una base de datos, en fin, puedes hacer cualquier tipo de pedido al servidor sin el postback. En este artículo voy a estar mostrando cómo se utiliza AJAX con ASP.Net, C# y JQuery.
Supongamos que tenemos un formulario para una tienda y necesitamos el nombre, apellido y número telefónico del cliente. En esta forma, cuando hagamos clic en el botón de guardar, debemos almacenar la información en la base de datos y notificar al usuario que guardó la información o si hubo algún tipo de error.
Muy bien, empecemos con el código de ASP.Net para crear el formulario.
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <table> <tr> <td>Nombre:</td> <td><asp:TextBox ID="txtNombre" runat="server" /></td> </tr> <tr> <td>Apellido:</td> <td><asp:TextBox ID="txtApellido" runat="server" /></td> </tr> <tr> <td>Número telefónico:</td> <td><asp:TextBox ID="txtNumTel" runat="server" /></td> </tr> <tr> <td><input type="button" id="btnGuardar" value="Guardar" /></td> <td><label id="lblMensaje" /></td> </tr> </table> </div> </form> </body> </html>
Ya tenemos el formulario creado. Lo próximo que necesitamos es crear el evento para cuando el usuario presione el botón de Guardar, el sistema guarde la información en la base de datos sin hacer un postback. Para este paso usamos JQuery, una librería de javascript que nos simplifica manipular eventos, animaciones, AJAX, etc.
$('#btnGuardar').click(function (e) { e.preventDefault(); // Usamos esta línea para cancelar el postback que el botón crea var parametros = { nombre: $('#txtNombre').val(), apellido: $('#txtApellido').val(), numtel: $('#txtNumTel').val() }; // Ahora hacemos la llamada tipo AJAX utilizando jQuery $.ajax({ type: 'POST', // tipo de llamada (POST, GET) url: 'default.aspx/guardar', // el URL del método que vamos a llamar data: JSON.stringify(parametros), // los parámetros en formato JSON contentType: "application/json; charset=utf-8", dataType: "json", // tipo de datos enviados al servidor success: function () { // función que se va a ejecutar si el pedido resulta exitoso $('#lblMensaje').text('La información ha sido guardada exitosamente.'); }, error: function (req, stat, err) { // función que se va a ejecutar si el pedido falla var error = eval("(" + req.responseText + ")"); $('#lblMensaje').text(error.Message); } }); });
Perfecto. Lo que nos falta es crear el código de servidor en C# para procesar el pedido. Tenemos que crear un WebMethod el cual ejecute cualquier acción que deseemos. En este caso es guardar la información en la base de datos.
[System.Web.Services.WebMethod] public static void Guardar(string nombre, string apellido, string numtel) { // Logica para validar los parámetros y guardar los datos }
Resumen
En este artículo hicimos 3 cosas. Creamos el código ASP.Net para crear el formulario, creamos el código de javascript utilizando jQuery para hacer el pedido AJAX y creamos el código de servidor en C# para procesar el pedido. Este es un ejemplo sumamente sencillo el propósito es solo demostrar lo fácil que resulta usar AJAX en nuestras aplicaciones web.
Roberto Torres Rodríguez
Related posts
4 Comments
Deja una respuesta Cancelar la respuesta
Publicaciones Populares
Categorías
- ASP.Net (6)
- C# (10)
- CSS (5)
- DIY (1)
- General (5)
- JavaScript (8)
- JQuery (6)
- Kodi (antes XBMC) (4)
- Nuevo (3)
- Raspberry Pi (2)
- SQL Server (15)
- Uncategorized (1)
- Vue.js (2)
- Wordpress (1)
Estimado;
hice algo parecido en C#, multicapa, cree los formulario en asp.net pero le meti codigo html5,css y boostrap.
Como puedo hacer para a traves de C#, poder manipular los datos y guardalos en SQL…??
¡Súper, me alegra que le hayas añadido diseño al proyecto! Una vez obtengas los datos en C#, el manipularlos y guardarlos en una base de datos se trabaja de la misma manera que si no estuvieras usando JQuery. Déjame saber en que necesitas ayuda específicamente, podría hacer una publicación sobre eso.
Interesante, podrías dejar el proyecto para tener mas referencia de como hacer mi método de Guardar mi registro, recién estoy empezando con jquery
Gracias. Tuve que cambiar de PC y no tengo el proyecto a la mano. Déjame saber si te puedo ayudar sobre JQuery. También te recomiendo otras liberías que son mucho más modernas y útiles que JQuery, como por ejemplo Vue.js, Angular y React.js. Hice una publicación recientemente sobre cómo comenzar con Vue.js. La puedes conseguir aquí: Introducción a Vue.js.