Я получаю следующее исключение при вызове Html.RenderPartial
:
Элемент модели, переданный в словарь, имеет тип «ChildClass», но для этого словаря требуется элемент модели типа «ParentClass».
Эти два класса связаны следующим образом:
public class ChildClass { /* properties */ }
public class ParentClass
{
public ChildClass ChildProperty { get; set; }
/* other properties */
}
У меня есть экземпляр ParentClass
, где значение ChildProperty
равно null
.
У меня есть два частичных вида: ParentView
(ViewUserControl<ParentClass>
) и ChildView
(ViewUserControl<ChildClass>
).
На первый взгляд, у меня есть следующее ...
<% Html.RenderPartial("~/Views/Controls/ChildView.ascx", Model.ChildProperty); %>
Это строка, которая вызывает исключение, указанное в верхней части этого сообщения.
Я проверил правильность работы, если ChildProperty
не равно нулю. Почему MVC считает, что нулевое значение этого свойства относится к родительскому типу?
Я могу обойти эту проблему, добавив код, который отображает ChildView
, только если ChildProperty
не равно нулю, но эта половина сводит на нет точку зрения на представление.