gpt4 book ai didi

navigation - 在 _Layout 文件中获取 ASPNET Core Razor 页面名称以更新导航项

转载 作者:行者123 更新时间:2023-12-04 01:06:53 26 4
gpt4 key购买 nike

使用 Bootstrap 4 并需要将事件类添加到导航项以反射(reflect)当前 Razor 页面(Core 2.0 中的新 razor 页面)。如何找出我所在的页面/ Controller ,以便将事件类名称添加到正确的位置:
<li><a class="active">...
谢谢。

更新:
我能够在我的页面初始值设定项中使用以下代码解决这个问题:

@{
var _action = this.Url.ActionContext.ActionDescriptor.DisplayName;
var NavDashboard = "/abc";
...
}

然后我可以在每个导航项中添加“事件”类,例如:
<a asp-page="@NavDashboard" class="nav-link@(_action=="@NavDashboard" ? " active" : string.Empty)">Dashboard</a>

冲洗并重复每个导航项目。

最佳答案

我会用 custom tag helper将事件类添加到元素。

我 fork 了 Ben Cull's ActiveRouteTagHelper for MVC并将其修改为 Razor Pages 并将其命名为 ActivePageTagHelper .它的用法与他的类似,如下所示:

<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li is-active-page asp-page="/Index"><a asp-page="/Index">Home</a></li>
<li is-active-page asp-page="/About"><a asp-page="/About">About</a></li>
<li is-active-page asp-page="/Contact"><a asp-page="/Contact">Contact</a></li>
</ul>
</div>

关于navigation - 在 _Layout 文件中获取 ASPNET Core Razor 页面名称以更新导航项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47104934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com