如何解决Razor ul / li if else语法
我的模型中有一个父子关系。我试图显示子菜单容器,如果模型中有一个孩子;
<li class="menu-item">
<a class="menu-link" href=@Model.Link><div>@Model.Name</div></a>
<ul class="sub-menu-container">
@foreach (var subMenu in Model.InverseMenuCategory.OrderBy(o => o.SortOrder))
{
<partial name="~/Views/Shared/Partials/Menu/SubMenu.cshtml" model="subMenu" />
}
</ul>
</li>
如果模型有任何子代,我会递归地调用相同的局部视图,并且效果很好,但是如果模型没有子代,它仍然显示空的子菜单容器,因为它超出了foreach。
我试图用类似if的语句来检查这一点。
<li class="menu-item">
<a class="menu-link" href=@Model.Link><div>@Model.Name</div></a>
@if(Model.hasChild.Count > 0) {
<ul class="sub-menu-container">
}
@foreach (var subMenu in Model.InverseMenuCategory.OrderBy(o => o.SortOrder))
{
<partial name="~/Templates/Canvas/Views/Shared/Partials/Menu/SubMenu.cshtml" model="subMenu" />
}
@if (Model.hasChild.Count > 0)
{
</ul>
}
但是这会导致错误“遇到了结束标签“ ul”,但没有匹配的开始标签”。我尝试仅在模型有孩子的情况下显示子菜单。我该如何实现?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。