ASP.NETCoreMVC:递归菜单
创始人
2024-09-18 03:30:30
0

在ASP.NET Core MVC中,可以使用递归方法来构建菜单。在视图中,可以使用HTML Helper方法来生成菜单,从而避免在视图文件中编写大量的HTML代码。

示例代码如下:

ViewModels/MenuItemViewModel.cs

public class MenuItemViewModel
{
    public string Text { get; set; }
    public string Url { get; set; }
    public IEnumerable Children { get; set; }
}

Views/Shared/_Menu.cshtml

@using WebApplication1.ViewModels

@helper GenerateMenu(IEnumerable items)
{
    
    @foreach (var item in items) {
  • @item.Text @if (item.Children.Any()) { @GenerateMenu(item.Children) }
  • }
} @if (Model != null && Model.Any()) { @GenerateMenu(Model) }

在Layout视图文件中,可以使用以下代码来呈现菜单:

@await Html.PartialAsync("_Menu", menuItems)

其中,menuItems是一个MenuItemViewModel对象的集合,可以在控制器中构建并传递给视图。

使用递归方法和HTML Helper可以方便地构建动态菜单,同时保持代码的可维护性和可读性。

相关内容

热门资讯

1分钟实锤!德扑之星作弊(辅助... 您好,德扑之星这款游戏可以开挂的,确实是有挂的,需要了解加微【439369440】很多玩家在这款游戏...
透视真的!微信小程序雀神麻将设... 大家肯定在之前微信小程序雀神麻将设置才赢或者微信小程序雀神麻将设置才赢中玩过透视真的!微信小程序雀神...
总算明白!阿当福建麻将技巧(辅... 1、总算明白!阿当福建麻将技巧(辅助挂)确实是真的有挂(有挂功能)-哔哩哔哩;详细教程。2、阿当福建...
透视线上!微扑克有保险吗!果真... 透视线上!微扑克有保险吗!果真是真的有挂((2024已更新))(哔哩哔哩);人气非常高,ai更新快且...
盘点几款!七彩云南游戏辅助器(... 盘点几款!七彩云南游戏辅助器(辅助挂)原来真的有挂(真是有挂)-哔哩哔哩;科技详细教程小薇《7574...
八分钟科普!wepower辅助... 八分钟科普!wepower辅助软件(辅助挂)透视辅助((2020已更新))(哔哩哔哩)1、每个玩家都...
记者揭秘!福来互动熟人有挂不(... 记者揭秘!福来互动熟人有挂不(辅助挂)果真是真的有挂(有挂规律)-哔哩哔哩准备好在福来互动熟人有挂不...
透视ai!德州poker外挂!... 透视ai!德州poker外挂!的确是真的有挂((2023已更新))(哔哩哔哩)相信很多朋友都在电脑上...
终于懂了!广东雀神麻雀辅助器在... 1、终于懂了!广东雀神麻雀辅助器在哪里下载(辅助挂)的确是真的有挂(有挂方式)-哔哩哔哩;详细教程。...
一分钟了解!小唐家乐园麻将有技... 一分钟了解!小唐家乐园麻将有技巧么(辅助挂)确实是真的有挂(揭秘有挂)-哔哩哔哩是由北京得小唐家乐园...