我有一个控制器,它拉出一个学生列表并显示在一个视图中,在我的控制器操作的一部分下面,它将学生存储在一个列表中,然后存储到一个 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 变量转换为列表?
提前致谢