asp.net web forms json return result

Ich benutze asp.net und Webformulare. In meinem Projekt habe ich asmx Web Service

[WebMethod] public string GetSomething() { // avoid circual reference(parent child) List res = repo.GetAllUser().Select(c => new RetUsers {User_ID = c.User_ID,User_Name = c.User_Name,Date_Expire = c.Date_Expire }).ToList(); string res1 = res.ToJson(); // extension methods return res.ToJson(); } 

Und das Ergebnis ist in diesem Format.

 [ {"User_ID":1,"User_Name":"Test 1","Date_Expire":null}, {"User_ID":2,"User_Name":"Test 2","Date_Expire":null} ] 

Wie kann ich anhängen, um dieses Ergebnis in $ .ajax Erfolg zu beschriften, um diese Ausgabe zu erhalten:

1 – Test 1, 2 – Test 2.

Geben Sie stattdessen die Liste zurück und verwenden Sie das [ScriptMethod (ResponseFormat = ResponseFormat.Json)] – Attribut – es erstellt automatisch ein JSON-Objekt als Rückgabe:

 [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public List GetSomething() { // avoid circual reference(parent child) List res = repo.GetAllUser().Select(c => new RetUsers {User_ID = c.User_ID,User_Name = c.User_Name,Date_Expire = c.Date_Expire }).ToList(); return res; } 

Und auf JS-Seite:

 $.ajax( { type: "POST", async: true, url: YourMethodUrl, data: {some data}, contentType: "application/json; charset=utf-8", dataType: "json", success: function(msg) { var resultAsJson = msg.d // your return result is JS array // Now you can loop over the array to get each object for(var i in resultAsJson) { var user = resultAsJson[i] var user_name = user.User_Name // Here you append that value to your label } } })