我有一个Model(BusinessPlaceDetailsViewModel),里面有另一个Model(Hub)。
但是,如果我将Hub设置为null,它仍会进入我的IF状态,请参见此处:
我尝试了很多不同的组合,例如将每个IF语句放在自己的大括号内。
为什么进入If块?
答案 0 :(得分:0)
我认为控制器没有将模型传递给视图是一个问题。
如果您发布控制器代码,它可能会有所帮助。
答案 1 :(得分:0)
出于好奇,您可以尝试一下,看看h1
是否显示?
@if (!User.Identity.IsAuthenticated)
{
if (Model.Hub == null)
{
<h1>wtf shouldn't have gotten here</h1>
}
else
{
...
}
}
答案 2 :(得分:0)
您可以先在控制器中处理您的支票吗?如果不是,可以尝试.Any()与凌。
@using System.Linq
@if( !Model.Any() )
{
...
}
else
答案 3 :(得分:0)
我通过在BusinessPlaceDetailsViewModel
中使用以下内容解决了这个问题public BusinessPlaceDetailsViewModel()
{
Hub = new HubViewModel();
}