我已经读过Asp.Net Core不支持自定义帮助方法(/App_Code/MyHelpers.cshtml
)。还有另一种方法(树状结构列表的递归渲染)?:
@helper BuildMenu(IEnumerable<MenuItem> data, int? parentId = null)
{
var items = data.Where(d => d.ParentMenuItemId == parentId).OrderBy(i => i.MenuOrder);
if (items.Any())
{
<ul>
@foreach (var item in items)
{
<li>
<a href="@item.LinkUrl">@item.MenuText</a>
@BuildMenu(data, item.MenuItemId)
</li>
}
</ul>
}
}
可以直接在视图中实现吗?如果是这样,怎么样?