C# 如何在NavigationProvider中对齐菜单?

C# 如何在NavigationProvider中对齐菜单?,c#,menu,navigation,aspnetboilerplate,C#,Menu,Navigation,Aspnetboilerplate,你好 我使用的是MVC核心ASP.NET样板文件v0.9.6 我正在尝试将侧菜单对齐为如下所示: 项目1 项目2 项目2.1 项目2.1.1 项目3 这是当前代码显示菜单的方式: 项目1 项目2 项目2.1 项目2.1.1 项目3 代码如下: // Menu for CRM Module .AddItem( new MenuItemDefinition( "CRMModule",

你好

我使用的是MVC核心ASP.NET样板文件v0.9.6

我正在尝试将侧菜单对齐为如下所示:

  • 项目1
  • 项目2
    • 项目2.1
      • 项目2.1.1
  • 项目3
这是当前代码显示菜单的方式:

  • 项目1
  • 项目2
    • 项目2.1
    • 项目2.1.1
  • 项目3
代码如下:

// Menu for CRM Module
        .AddItem(
                new MenuItemDefinition(
                    "CRMModule",
                    L("CRMModule"),
                    url: "CRMModule",
                    icon: "fa fa-wrench",
                    requiredPermissionName: PermissionNames.Pages_SparesRequirements
                        ).AddItem(
                            new MenuItemDefinition(
                                "Companies",
                                L("Companies"),
                                url: "Company",
                                icon: "fa fa-building",
                                requiredPermissionName: PermissionNames.Pages_Companies
                                            )

                        ).AddItem(
                             new MenuItemDefinition(
                                "Quotations",
                                L("Quotations"),
                                url: "Quotation",
                                icon: "fa fa-list-alt",
                                requiredPermissionName: PermissionNames.Pages_Quotations
                                ).AddItem(
                                         new MenuItemDefinition(
                                         "Quotations",
                                         L("List"),
                                         url: "Quotation",
                                         icon: "fa fa-table",
                                         requiredPermissionName: PermissionNames.Pages_Quotations
                                         )
                                ).AddItem(
                                        new MenuItemDefinition(
                                        "Quotations",
                                        L("Create"),
                                        url: "Quotation/CreateQuote",
                                        icon: "fa fa-plus",
                                        requiredPermissionName: PermissionNames.Pages_Quotations
                                        )
                                )

                        ).AddItem(
                            new MenuItemDefinition(
                                "Leads",
                                L("Leads"),
                                url: "Lead",
                                icon: "fa fa-building-o",
                                requiredPermissionName: PermissionNames.Pages_Leads
                               )
                       )
            )

看起来,
Create
子菜单是您要使其向下一级的菜单,因此它将在
列表
项下定义:

new MenuItemDefinition(
"List", // so it will be defined under "List"
L("Create"),
url: "Quotation/CreateQuote",
icon: "fa fa-plus",
requiredPermissionName: PermissionNames.Pages_Quotations
)

看起来,
Create
子菜单是您要使其向下一级的菜单,因此它将在
列表
项下定义:

new MenuItemDefinition(
"List", // so it will be defined under "List"
L("Create"),
url: "Quotation/CreateQuote",
icon: "fa fa-plus",
requiredPermissionName: PermissionNames.Pages_Quotations
)

我想这就是你想要的:

  • 控制模块
    • 公司
    • 引文
      • 名单
        • 创造
    • 引导
首先,每个
MenuItemDefinition
都应该有一个唯一的
名称(第一个参数)

其次,当你使用适当的缩进时,你需要做什么就变得很明显了

之前

).AddItem(
    new MenuItemDefinition(
        "Quotations", // "List"
        L("List"),
        url: "Quotation",
        icon: "fa fa-table",
        requiredPermissionName: PermissionNames.Pages_Quotations
    ) // Remove
).AddItem(
    new MenuItemDefinition(
        "Quotations", // "Create"
        L("Create"),
        url: "Quotation/CreateQuote",
        icon: "fa fa-plus",
        requiredPermissionName: PermissionNames.Pages_Quotations
    )
)
).AddItem(
    new MenuItemDefinition(
        "List",
        L("List"),
        url: "Quotation",
        icon: "fa fa-table",
        requiredPermissionName: PermissionNames.Pages_Quotations
    ).AddItem(                                                       // Indented
        new MenuItemDefinition(                                      // Indented
            "Create",                                                // Indented
            L("Create"),                                             // Indented
            url: "Quotation/CreateQuote",                            // Indented
            icon: "fa fa-plus",                                      // Indented
            requiredPermissionName: PermissionNames.Pages_Quotations // Indented
        ) // Added
    )
)
之后

).AddItem(
    new MenuItemDefinition(
        "Quotations", // "List"
        L("List"),
        url: "Quotation",
        icon: "fa fa-table",
        requiredPermissionName: PermissionNames.Pages_Quotations
    ) // Remove
).AddItem(
    new MenuItemDefinition(
        "Quotations", // "Create"
        L("Create"),
        url: "Quotation/CreateQuote",
        icon: "fa fa-plus",
        requiredPermissionName: PermissionNames.Pages_Quotations
    )
)
).AddItem(
    new MenuItemDefinition(
        "List",
        L("List"),
        url: "Quotation",
        icon: "fa fa-table",
        requiredPermissionName: PermissionNames.Pages_Quotations
    ).AddItem(                                                       // Indented
        new MenuItemDefinition(                                      // Indented
            "Create",                                                // Indented
            L("Create"),                                             // Indented
            url: "Quotation/CreateQuote",                            // Indented
            icon: "fa fa-plus",                                      // Indented
            requiredPermissionName: PermissionNames.Pages_Quotations // Indented
        ) // Added
    )
)

SideBarNav/Default.cshtml 要支持第三级菜单项,请更改:


致:

@if(subSubMenuItem.Items.IsNullOrEmpty())
{
}
其他的
{
    @foreach(subSubMenuItem.Items中的var subSubMenuItem) {
  • }
}
我想这就是你想要的:

  • 控制模块
    • 公司
    • 引文
      • 名单
        • 创造
    • 引导
首先,每个
MenuItemDefinition
都应该有一个唯一的
名称(第一个参数)

其次,当你使用适当的缩进时,你需要做什么就变得很明显了

之前

).AddItem(
    new MenuItemDefinition(
        "Quotations", // "List"
        L("List"),
        url: "Quotation",
        icon: "fa fa-table",
        requiredPermissionName: PermissionNames.Pages_Quotations
    ) // Remove
).AddItem(
    new MenuItemDefinition(
        "Quotations", // "Create"
        L("Create"),
        url: "Quotation/CreateQuote",
        icon: "fa fa-plus",
        requiredPermissionName: PermissionNames.Pages_Quotations
    )
)
).AddItem(
    new MenuItemDefinition(
        "List",
        L("List"),
        url: "Quotation",
        icon: "fa fa-table",
        requiredPermissionName: PermissionNames.Pages_Quotations
    ).AddItem(                                                       // Indented
        new MenuItemDefinition(                                      // Indented
            "Create",                                                // Indented
            L("Create"),                                             // Indented
            url: "Quotation/CreateQuote",                            // Indented
            icon: "fa fa-plus",                                      // Indented
            requiredPermissionName: PermissionNames.Pages_Quotations // Indented
        ) // Added
    )
)
之后

).AddItem(
    new MenuItemDefinition(
        "Quotations", // "List"
        L("List"),
        url: "Quotation",
        icon: "fa fa-table",
        requiredPermissionName: PermissionNames.Pages_Quotations
    ) // Remove
).AddItem(
    new MenuItemDefinition(
        "Quotations", // "Create"
        L("Create"),
        url: "Quotation/CreateQuote",
        icon: "fa fa-plus",
        requiredPermissionName: PermissionNames.Pages_Quotations
    )
)
).AddItem(
    new MenuItemDefinition(
        "List",
        L("List"),
        url: "Quotation",
        icon: "fa fa-table",
        requiredPermissionName: PermissionNames.Pages_Quotations
    ).AddItem(                                                       // Indented
        new MenuItemDefinition(                                      // Indented
            "Create",                                                // Indented
            L("Create"),                                             // Indented
            url: "Quotation/CreateQuote",                            // Indented
            icon: "fa fa-plus",                                      // Indented
            requiredPermissionName: PermissionNames.Pages_Quotations // Indented
        ) // Added
    )
)

SideBarNav/Default.cshtml 要支持第三级菜单项,请更改:


致:

@if(subSubMenuItem.Items.IsNullOrEmpty())
{
}
其他的
{
    @foreach(subSubMenuItem.Items中的var subSubMenuItem) {
  • }
}
查看我的答案..我尝试了你的答案,但没有显示第三个(树)菜单项。我想知道是否有可能在旧版本的样板上有第3个菜单项,因为我看到的和示例有2个菜单项结构。看这里,他们还有一个2个菜单项的示例。你能修改这个例子并把它发给我吗。。请查看更新的答案。问题解决了吗?请查看我的答案。我尝试了你的答案,但没有显示第三个(树)菜单项。我想知道是否有可能在旧版本的样板上有第3个菜单项,因为我看到的和示例有2个菜单项结构。看这里,他们还有一个2个菜单项的示例。你能修改这个例子并把它发给我吗。。请查看更新的答案。问题解决了吗?