我有两个视图模型:
public class ParentViewModel
{
public Id { get; set; }
.....
public ChildViewModel Child{ get; set; }
}
public class ChildViewModel
{
public ChildId { get; set; }
.....
}
控制器:
public ActionResult Index()
{
.... <some code>
return View("NewIndex", ParentViewModel);
}
[HttpPost]
public ActionResult PartialAction(ChildViewModel childView)
{
return RedirectToAction("Index");
}
观点:
指数
@model ParentViewModel
....
@Html.Partial("_Partial", Model.Child)
和_Partial
@model ChildViewModel
... do some stuff with child model
当我尝试打开索引页面时,我遇到了一个错误:
传递到字典中的模型项的类型为'ParentViewModel',但是这个字典需要一个类型为'ChildViewModel'的模型项。
为什么它试图传递ParentViewModel而不是ChildViewModel。我做错了什么?
Model.Child
为空?因为Html.Partial
的第二个参数不应该是null
...所以确保你的Child
属性有一些值! - nemesv@Html.Partial
调用。但是它可以是一个空对象:@Html.Partial("_Partial", new ChildViewModel())
... - nemesv