Я получаю следующее исключение при звонке на 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
не равно нулю, но эта половина лишает смысла иметь представление.