使用razor在视图中渲染递归列表? (是辅助方法)

时间:2017-12-06 14:00:16

标签: c# razor asp.net-core-2.0

我已经读过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>
    }
}

可以直接在视图中实现吗?如果是这样,怎么样?

0 个答案:

没有答案