ASP.NET / JavaScript – Ajax call, ¿cómo?

¡Sea amable, ya que todavía soy nuevo en la progtwigción web y muy nuevo en Ajax!

He creado una función de C # que extrae datos de una base de datos mssql, la formatea en una cadena json y la devuelve. Ahora necesito hacer una llamada desde el control deslizante de javascript (jQuery) a través de una página aspx relacionada con el archivo de código C #.

En realidad, nunca he hecho algo como esto antes, por lo que pude ver al buscar en Google, necesito usar xmlHttpRequest, pero ¿cómo hago exactamente que la función se haga con esta cadena?

Sería increíble si alguien tuviera algún código de ejemplo que muestre cómo funciona esto.

Es relativamente fácil con jQuery si marca la función C # como un [Método Web] o si la hace parte de un servicio web ASP.NET. Ambas técnicas facilitan la conversión automática de la respuesta en un objeto JSON mediante ASP.NET, lo que facilita el procesamiento en el cliente (IMHO).

El siguiente ejemplo es si la página tiene un WebMethod llamado GetData , pero es trivial cambiar la URL si crea un servicio.

 $.ajax({ url: "somepage.aspx/GetData", method: "POST", // post is safer, but could also be GET data: {}, // any data (as a JSON object) you want to pass to the method success: function() { alert('We did it!'); } }); 

En el servidor:

 [WebMethod] public static object GetData() { // query the data... // return as an anonymous object, which ASP.NET converts to JSON return new { result = ... }; } 

La forma más sencilla de hacer esto es convertir su función en un archivo ASHX que escriba el JSON en la respuesta HTTP.

Luego puede llamarlo usando XmlHttpRequest, aunque puede llamarlo mucho más fácilmente usando jQuery .

Puedes llamarlo con jQuery así:

 $.get("/YourFile.ashx", function(obj) { ... }, "json");