У меня есть два просмотра модели:Как передать модель частичного зрения
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? Потому что второй parater 'Html.Partial' не должен быть« null »... Так что сделайте так, чтобы ваше свойство' Child' имело какое-то значение! – nemesv
Фактически мой частичный вид предназначен только для функций AddObject, поэтому ChildViewModel требуется только для отправки данных контроллеру из PartialView. Так что noot необходимо передавать данные в Child от Index to Partial view – DarkNik
Еще нужно передать в ChildViewModel вызов '@ Html.Partial'. Однако это может быть пустой объект: '@ Html.Partial (" _ Partial ", новый ChildViewModel())' ... – nemesv