blazor的静态菜单内通过方式解决了不同角色看到不同菜单的需求:
```c#
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
<nav class="flex-column">
<div class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="oi oi-home" aria-hidden="true"></span> Home
</NavLink>
</div>
<AuthorizeView Roles="Administrator,User">
<Authorized>
<div class="nav-item px-3">
<NavLink class="nav-link" href="counter">
<span class="oi oi-plus" aria-hidden="true"></span> Counter
</NavLink>
</div>
</Authorized>
</AuthorizeView>
<AuthorizeView Roles="Administrator">
<Authorized>
<div class="nav-item px-3">
<NavLink class="nav-link" href="fetchdata">
<span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
</NavLink>
</div>
</Authorized>
</AuthorizeView>
<AuthorizeView Roles="Administrator,User">
<Authorized>
<div class="nav-item px-3">
<Nav style="border-image:cross-fade();color:cadetblue " >
<span class="oi oi-list-rich" aria-hidden="true"></span>菜单测试
<div class="nav-item px-3">
<NavLink class="nav-link" href="fetchdata" title="test menu">
<span class="oi oi-bar-chart" aria-hidden="true"></span> Fetch data
</NavLink>
<NavLink class="nav-link" href="counter" title="test menu">
<span class="oi oi-badge" aria-hidden="true"></span> Counter
</NavLink>
</div>
</Nav>
</div>
</Authorized>
</AuthorizeView>
</nav>
</div>
但是在动态形成的菜单中如何带入角色权限的问题上遇到了困难,请大家帮忙?
private static List<MenuItem> GetIconSideMenuItems()
{
var menus = new List<MenuItem>
{
new MenuItem() { Text = "AAA", Icon = "fa-solid fa-fw fa-home", Url = "https://www.blazor.zone/components" },
new MenuItem() { Text = "Index", Icon = "fa-solid fa-fw fa-flag", Url = "/" , Match = NavLinkMatch.All},
new MenuItem() { Text = "BBB", Icon = "fa-solid fa-fw fa-check-square", Url = "/BBB" },
new MenuItem() { Text = "CCC", Icon = "fa-solid fa-fw fa-database", Url = "CCC" } ,
new MenuItem() { Text = "DDD", Icon = "fa-solid fa-fw fa-table", Url = "DDD" },
new MenuItem() { Text = "EEE", Icon = "fa-solid fa-fw fa-users", Url = "EEE" }
};
return menus;
}
``````
```