我有一名自定义班级学生,如下所示:
public class Student
{
public string Name {get;set;}
public string GuardianName {get;set;}
}
现在,我有数据来自以下数据结构
IList<Student> studInfo=new List<Student>();
我已将此数据放入viewbag
Viewbag.db=studInfo;
在视图页面上,当我尝试使用
时 <table>
<thead>
<tr>
<td>Name</td>
<td>Guardian Name</td>
</tr>
</thead>
@foreach(var stud in ViewBag.db)
{
<tr>
<td>@stud.Name</td>
<td>@stud.GuardianName</td>
</tr>
}
</table>
有一个错误,说
Cannot implicitly convert type 'PuneUniversity.StudInfo.Student' to 'System.Collections.IEnumerable'
PuneUniversity是我的命名空间,StudInfo是应用程序名称。请建议我一个解决方案。 提前致谢
答案 0 :(得分:1)
以下行不太可能编译:
IList<Student> studInfo = new IList<Student>();
您无法创建接口实例。所以我猜你的实际代码与你在这里显示的不同。
另外,我建议您使用强类型视图而不是ViewBag:
public ActionResult SomeAction()
{
IList<Student> students = new List<Student>();
students.Add(new Student { Name = "foo", GuardianName = "bar" });
return View(students);
}
现在让你的观点强烈输入:
@model IEnumerable<Student>
<table>
<thead>
<tr>
<th>Name</th>
<th>Guardian Name</th>
</tr>
</thead>
<tbody>
@foreach(var stud in Model)
{
<tr>
<td>@stud.Name</td>
<td>@stud.GuardianName</td>
</tr>
}
</tbody>
</table>