Как мне вызвать частичное представление с «null» для его модели?

Предположим, у меня есть частичное представление с именем UserDetails , чье предложение @model установлено в класс модели называется Пользователь .

Теперь предположим, что у меня есть другой класс модели, который выглядит примерно так:

public sealed class SpecialModel
{
    public User SpecialUser;
    public ... // other stuff
}

Внутри представления для SpecialModel я хочу вызвать свое частичное представление, упомянутое выше:

@model MyProject.Models.SpecialModel
@{ ViewBag.Title = "..."; }
<div class='user'>@Html.Partial("UserDetails", Model.SpecialUser)</div>

Это отлично работает , если пользователь не null . Однако, если пользователь null , я получаю следующее исключение:

System.InvalidOperationException : элемент модели, переданный в словарь, имеет тип MyProject.Models.SpecialModel, но этот словарь требуется элемент модели типа MyProject.Models.User.

Очевидно, сообщение об исключении ложно. Как мне это исправить, чтобы я мог нормально передать null ?

8
задан Timwi 15 February 2012 в 11:52
поделиться