2013-05-10 6 views
10

として、私は、JSONとリストのC#> JSON

に問題が生じています、私はチャットEntityクラスのリストを返すようにしようとしていますが、私はそれをコンパイラwhinesがを返すようにしようと。 また、IEnumerable <を返そうとしましたが、同じエラーが発生しました

何ができますか?ここ

これは

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

答えて

18

コンパイラで取得する最新のチャット機能である

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

、アイテムを返している私の関数でありますあなたのメソッド(私はアクションメソッドを推測していると言っているのであなたのコードに不満です)はd List<Chat>を返信し、JsonResultを返しています。 ASP.NET MVCを使用している場合は、次のようになります:

+0

これは私の問題を解決しました!明確な説明をありがとう! –