У меня есть страница просмотра с наследованной частью, похожей на
Inherits="System.Web.Mvc.ViewPage<User>"
и ViewUserControl с частью наследования, похожей на
Inherits="System.Web.Mvc.ViewUserControl<Address>
где класс пользователя (сокращенный) по сути выглядит так:
class User {
public virtual Address address { get; set; }
}
Теперь, если я попытаюсь:
Html.RenderPartial("Address", Model.address);
тогда я потенциально получаю какое-то странное поведение. В моем случае оказывается, что Model.address был нулевым Вместо передачи пустого значения элементу управления, похоже, что фреймворк пытался передать Model (т.е. type = User) и выдавал ошибку (неожиданный тип).
Не принимая во внимание тот факт, что мой адрес был нулевым, это поведение по умолчанию родительского объекта как ошибка, или ожидаемое поведение. Если это ожидаемое поведение, то может кто-нибудь объяснить, почему? Я не понимаю.