asp.net-mvc - net - web api c# tutorial
C#Cómo devolver List<> As Json (1)
El compilador no está contento con su código porque está diciendo que su método (supongo que el método de acción) está definido para devolver List<Chat>
y está devolviendo JsonResult
. Si está utilizando ASP.NET MVC, debería verse así:
public ActionResult GetNewChatPosts()
{
var userID = U_rep.GetUserID(User.Identity.Name);
var list = G_rep.GetNewestChat(0, userID);
return Json(list);
}
Estoy teniendo problemas con Json y listas
Estoy tratando de devolver una lista de clase de la clase de chat, pero cuando intento devolverla, el compilador gime. También intenté devolver IEnumerable <> pero vino el mismo error
que puedo hacer ?
aquí está mi función que devuelve el artículo,
public List<Chat> GetNewChatPosts()
{
var userID = U_rep.GetUserID(User.Identity.Name);
var list = G_rep.GetNewestChat(0, userID);
return Json(list);
}
Esta es la función Get Newest Chat
public List<Chat> GetNewestChat(int gameID, int userID)
{
var pos1 = (from p in n_db.ChatPos
where p.userID == userID && gameID == p.gameID
select p).SingleOrDefault();
int pos;
if (pos1 == null)
{
pos = 0;
ChatPo n = new ChatPo();
n.gameID = gameID;
n.userID = userID;
n.chatID = pos;
n_db.ChatPos.InsertOnSubmit(n);
n_db.SubmitChanges();
}
else
{
pos = pos1.ID;
}
var newIEnumerable = from chat in n_db.Chats
where chat.ID > pos
orderby chat.ID descending
select chat;
List<Chat> newestChat = new List<Chat>();
foreach (var n in newIEnumerable)
{
newestChat.Add(n);
}
var last = newIEnumerable.Last();
pos1.ID = last.ID;
n_db.SubmitChanges();
return newestChat;
}
y esta es la llamada de Ajax
$.ajax({
type: "GET",
url: "/Game/GetNewChatPosts",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify(text),
success: function (data) {
alert("success post");
},
error: function () { alert("error post"); }
});