我有一个列表视图我想在页面中添加一个创建部分。
@model IEnumerable <blah.Domain.Entities.blah>
@ Html.Partial(“_ Quickblah”,new blah.Domain.Entities.blah());
public ViewResult _Quickblah()
{
ViewBag.CategoryID = new SelectList(Repository.Categorys, "CategoryID", "Title");
Blah blah = new Blah () { CreatedDate = DateTime.Now };
return View(blah);
}
我收到错误
没有类型为'IEnumerable'的ViewData项 有'KeyID'键。
我该如何解决这个问题?
答案 0 :(得分:2)
当您致电Html.Partial
时,您的_Quickblah
控制器操作未被调用,当然ViewBag.CategoryID
未被分配(因为我假设在您的主控制器操作中呈现此视图,您没有不要设置它。您应该使用Html.Action
代替:
@Html.Action("_Quickblah")
同样在您的_Quickblah
操作中,请确保您要返回部分视图:
public ActionResult _Quickblah()
{
ViewBag.CategoryID = new SelectList(Repository.Categorys, "CategoryID", "Title");
Blah blah = new Blah () { CreatedDate = DateTime.Now };
return PartialView(blah);
}