我正在研究MVC-3。在我看来,我面临以下例外:
cannot perform runtime binding on a null reference模型类
public class HomeModel
{
public IEnumerable<Html> Template { get; set; }
}视图代码
@model Project.Models.HomeModel
@{
ViewBag.Title = "Home Page";
int i = 0;
}
<div class="container">
@foreach (var e in Model.Template) //getting exception on this foreach loop
{
//loop content
}
</div>控制器
public ActionResult Index()
{
HomeModel model = new HomeModel();
model.Template = db.Templates();
return View(model);
}我的视图是强类型的HomeModel模型类。有人能帮我解决这个问题吗?
发布于 2012-12-19 23:19:12
这是由于LINQ的延迟执行。除非尝试访问Model.Template,否则不会计算db.Template的结果,在这种情况下,db.Template超出了视图的范围。您可以通过使用ToList()对ToArray()和ToDictionary()与db.Templates进行操作。
您的Controller代码应该如下所示:
public ActionResult Index()
{
HomeModel model = new HomeModel();
model.Template = db.Templates.ToList();
return View(model);
}https://stackoverflow.com/questions/13957548
复制相似问题