我有一個控制器,其中拉出學生列表並顯示在視圖中,下面是我的控制器操作部分,它將學生存儲在列表中,然後存儲到TempData變量中。然後我它重定向到一個不同的操作在一個視圖中顯示的列表:將字符串轉換爲列表
var StudentsList = (from s in data.vwStudents.Where(a => a.StudentID == Id)
group s by s.StudentName into g
select g.Key).ToList();
TempData["StudentsList"] = StudentsList;
return RedirectToAction("DisplayStudents");
我傳遞到TempData [「StudentList」]變量到另一個控制器動作:
[HttpGet]
public ActionResult DisplayStudents()
{
ViewData["StudentsList"] = TempData["StudentsList"];
return View();
}
這是我如何顯示學生在視圖:
<%= ViewData["StudentsList"]%> <br /><br />
的問題是,我沒能看到學生,相反,我看到:
System.Collections.Generic.List`1[System.String]
我需要在將TempData傳遞給視圖之前將其轉換爲列表嗎?還是我在視圖中做?另外,如何將TempData變量轉換爲列表?
在此先感謝
注意,'StudentsList.ToString()''== System.Collections.Generic.List \'1 [System.String]'。你期望什麼? – mellamokb 2012-04-19 16:55:54
@mellamokb我期待學生的名字而不是類型。 – user793468 2012-04-19 22:20:06
列表沒有自然輸出格式,因爲沒有「一種顯而易見的方式」來顯示列表的內容。你如何顯示列表內容的想法與下一個程序員不同。所以你必須自己定義它。 – mellamokb 2012-04-19 22:21:21