更新 问题是语法问题。@awrigley 展示了在 Razor 中编写此代码的正确方法。
以下作品:
@if(Model.Thing.Prop != null)
{
Html.RenderPartial("SomePartialView", Model.Thing.Prop);
}
您需要以HTML 表格的形式显示Foo
给定的前 1 名的详细信息。Bar
如果空表为空,如何隐藏空表或显示“未找到”消息Foo
?
例如。我NullReferenceException
在下一行得到一个,因为Model.Thing.Prop
是null
;
@{Html.RenderPartial("SomePartialView", Model.Thing.Prop);}
它是故意为空的,我的存储库返回 null 而不是空的Foo
。但这有点离题,即给定一个 null 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
.