我遇到了Json和Lists的问题
我正在尝试返回Chat Entity类的列表但是当我尝试返回它时编译器发出呜呜声。 我还试图返回IEnumerable<>但同样的错误来了
我能做什么?
这是我的函数,它返回项目,
public List<Chat> GetNewChatPosts()
{
var userID = U_rep.GetUserID(User.Identity.Name);
var list = G_rep.GetNewestChat(0, userID);
return Json(list);
}
这是获取最新聊天功能
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;
}
这是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"); }
});
答案 0 :(得分:20)
编译器对您的代码不满意,因为您说您的方法(我猜测操作方法)被定义为返回List<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);
}