UPDATE
Проблема была синтаксической проблемой. @awrigley показывает правильный способ написать это в Razor.
Следующие работы:
@if(Model.Thing.Prop != null)
{
Html.RenderPartial("SomePartialView", Model.Thing.Prop);
}
У вас есть требование показать подробности для верхних 1 Foo
для данного Bar
в виде таблицы HTML. Как скрыть пустую таблицу или показать сообщение «не найдено», если Foo
равно нулю?
Например. Я получаю NullReferenceException
в следующей строке, потому что Model.Thing.Prop
- это null
;
@{Html.RenderPartial("SomePartialView", Model.Thing.Prop);}
Это намеренно ноль, мой репозиторий возвращает ноль вместо пустого Foo
. Но это мягко не относится к вопросу, который равен нулю Model.Thing.Prop
, я не хочу называть Html.RenderPartial
.
Обновление
Я безуспешно пробовал следующее:
@if(Model.Thing.Prop != null)
{
@{Html.RenderPartial("SomePartialView", Model.Thing.Prop);}
}
В результате Visual Studio сообщает, что ожидает строку ;
в строке 1, столбце 1, а также, что ;
является недопустимым выражением в строке 1, столбце 1 (полагаю, это связано с сбросить статус MVC3), и если я попаду на страницу в браузере, я получу
CS1501: нет перегрузки для метода 'Write', 0 аргументов
с выделенной строкой @Html.RenderPartial
.
Я тоже пробовал
@if(Model.Thing.Prop != null)
{
<text>
@{Html.RenderPartial("SomePartialView", Model.Thing.Prop);}
</text>
}
но это приводит к NullReferenceException
изнутри моего Частичного просмотра, что не кажется правильным. Model.Thing
определенно является действительным Bar
, а Model.Thing.Prop
определенно является null
Foo
.