[C#] Wie man JSON mit ASP.NET & jQuery zurückgibt


Answers

Einfach Objekt zurückgeben: Es wird Parser zu JSON sein.

public Object Get(string id)
{
    return new { id = 1234 };
}
Question

Ich kann nicht herausfinden, wie ich JSON-Daten mit meinem Code zurückgeben kann.

JS

$(function () {
$.ajax({
        type: "POST",
        url: "Default.aspx/GetProducts",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            // How to return data here like a table???  
            $("#Second").text(msg.d);
            //alert(msg.d);
        }
    }); 
});

C # von Default.aspx.cs

[WebMethod]
public static string GetProducts()
{
   var products  = context.GetProducts().ToList();   
   return What do I have to return ????
}

Danke im Voraus!




Asp.net ist ziemlich gut darin, automatisch .net-Objekte in json umzuwandeln. Wenn Ihr List-Objekt in Ihrer Webmethode zurückgegeben wird, sollte ein json / javascript-Array zurückgegeben werden. Was ich damit meine, ist, dass Sie den Rückgabetyp nicht in einen String ändern sollten (weil Sie denken, dass der Client dies erwartet), wenn Sie Daten von einer Methode zurückgeben. Wenn Sie ein .net-Array von einer Webmethode zurückgeben, wird ein Java-Array an den Client zurückgegeben. Es funktioniert nicht wirklich gut für kompliziertere Objekte, aber für einfache Array-Daten ist es in Ordnung.

Natürlich liegt es an Ihnen, das zu tun, was Sie auf der Client-Seite tun müssen.

Ich würde so etwas denken:

[WebMethod]
public static List GetProducts()
{
   var products  = context.GetProducts().ToList();   
   return products;
}

Es sollte nicht wirklich notwendig sein, benutzerdefinierte Konverter zu initialisieren, es sei denn, Ihre Daten sind komplizierter als einfache Zeilen- / Spalten-Daten