2012-08-29 35 views
0

我有一個返回StudentID的控制器操作。將兩列組合成一個並返回

[HttpPost()] 
    public ActionResult DisplayStudents() 
    { 
     StudentDataContext db = new StudentDataContext(); 

     var StudentID = (from s in db.vwStudents.Where(s => s.StudentID != null) 
          group s by s.StudentID into g 
          select g.Key).ToList(); 

     return Json(new {StudentID}); 

    } 

我想從同一個視圖返回「StudentName」爲好,但分析的最終結果,並返回「StudentID - StudentName」爲如「JD11212 - John Deat」

有沒有一種方法可以將兩列「StudentID」和「StudentName」組合在一起並返回?

+1

爲什麼你將學生分組爲一組,或者你的StudentID不唯一? – Mithrandir

+0

StudentID不是唯一的 – user793468

回答

1
... 
group s by new {s.StudentID, s.StudentName} into g 
... 

這將創建一個新的匿名類型{StudentID,StudentName},這應該是你正在尋找的。

+0

但是,我怎樣才能讓Json迴歸?有沒有辦法解析對象{s.StudentID,s.StudentName}並返回「StudentID - StudentName」作爲字符串? – user793468

+0

你真的想在另一端有「StudentID - StudentName」嗎? (有兩個字段可能更有意義,更易於使用,並將表示層與業務/數據存儲層分開)。如果是這樣,你可以選擇'g.Key.StudentID +「 - 」+ g.Key.StudentName'。 –