Navigation 在_布局文件中获取ASPNET Core Razor页面名称以更新导航项

Navigation 在_布局文件中获取ASPNET Core Razor页面名称以更新导航项,navigation,bootstrap-4,asp.net-core-2.0,razor-pages,Navigation,Bootstrap 4,Asp.net Core 2.0,Razor Pages,使用Bootstrap4,需要将活动类添加到导航项中,以反映当前的Razor页面(Core2.0中的新Razor页面)。如何找出我所在的页面/控制器,以便将活动类名添加到正确的页面: … 谢谢 更新: 我可以在我的页面初始值设定项中使用以下代码解决此问题: @{ var _action = this.Url.ActionContext.ActionDescriptor.DisplayName; var NavDashboard = "/abc"; ... } 然后我可以

使用Bootstrap4,需要将活动类添加到导航项中,以反映当前的Razor页面(Core2.0中的新Razor页面)。如何找出我所在的页面/控制器,以便将活动类名添加到正确的页面:

  • 谢谢

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

    @{
        var _action = this.Url.ActionContext.ActionDescriptor.DisplayName;
        var NavDashboard = "/abc";
        ...
    }
    
    然后我可以在每个导航项目中添加“活动”类,如:

    <a asp-page="@NavDashboard" class="nav-link@(_action=="@NavDashboard" ? " active" : string.Empty)">Dashboard</a>
    
    仪表板 对每个导航项进行冲洗并重复操作。

    我会使用a将活动类添加到元素中

    我用叉子把它改成刮胡刀的页面,并称之为。它的用法与他的类似,如下所示:

    <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>
    
    
    
      主页 关于 联系人

    当您在布局文件中时,是否找到了获取页面的方法?使用解决方案更新原始帖子。这是最好的解决方案。不要忘记在_ViewImports.cshtml中将您自己的项目注册为TagHelper项目: