我有兩個視圖模型:如何模型傳遞到局部視圖
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 'null?因爲'Html.Partial'的第二個參數不應該是'null' ...所以讓你的'Child'屬性有一些價值! – nemesv
實際上,我的Partial視圖僅適用於AddObject功能,因此ChildViewModel只需要從PartialView向控制器發送數據。因此,noot需要將索引中的數據傳遞給部分視圖 – DarkNik
仍然需要將ChildViewModel傳遞給'@ Html.Partial'調用。但它可以是一個空對象:'@ Html.Partial(「_ Partial」,new ChildViewModel())'... – nemesv