12

I am having problem with Json and Lists

I am trying to return a list of Chat Entity class but when i try to return it the compiler whines. I also tried to return IEnumerable<> but the same error came

what can i do ?

here is my function that is returning the item,

public List<Chat> GetNewChatPosts()
{ 
    var userID = U_rep.GetUserID(User.Identity.Name);
    var list = G_rep.GetNewestChat(0, userID);
    return Json(list);
}

This is the Get Newest Chat function

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;    
}

and This is the Ajax call

$.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"); }
});
4

1 回答 1

22

编译器对您的代码不满意,因为您说您的方法(我猜动作方法)被定义为 returnList<Chat>并且您正在返回JsonResult。如果您使用的是 ASP.NET MVC,它应该如下所示:

public ActionResult GetNewChatPosts()
{ 
    var userID = U_rep.GetUserID(User.Identity.Name);
    var list = G_rep.GetNewestChat(0, userID);

    return Json(list);
}
于 2013-05-10T08:15:57.693 回答