在控制器中,我使用类型(TypeID,名称)填充 ViewBag
ViewBag.Types = types.ToList();
然后在视图中
@foreach (var item in ViewBag.Types)
{
@item.Name
}
此错误:“对象”不包含“名称”的定义
在控制器中,我使用类型(TypeID,名称)填充 ViewBag
ViewBag.Types = types.ToList();
然后在视图中
@foreach (var item in ViewBag.Types)
{
@item.Name
}
此错误:“对象”不包含“名称”的定义
ViewBag , ViewData 或此类动态 Magic 项目是邪恶的,因为它们永远不会告诉您您的视图是否由于拼写错误而失败,而使用强类型模型时,当出现问题时您会收到编译时错误。此外,您还可以获得 Intellisense 支持。
为什么不使用强类型方法?
public ActionResult Create()
{
return View(types.ToList());
}
并使您的视图强类型化到对象/对象
@model IList<Types>
@foreach(var item in Model)
{
<p>@item.Name</p>
}
假设您的类型是foo
. 以您的方式通过您ViewBag.Types
的方式,并在视图中执行此操作:
@{
var TypeList= (List<foo>)ViewBag.Types;
}
然后做:
@foreach (var item in TypeList)
{
@item.Name
}
注意:您可能需要写入foo
实体的完整路径