gpt4 book ai didi

c# - 使用 Bootstrap 的 C# MVC 网站中的面包屑导航

转载 作者:太空狗 更新时间:2023-10-29 18:13:19 26 4
gpt4 key购买 nike

我想在我的网站上添加面包屑,但我不太确定该怎么做。我已经能够使用以下代码获得一些基本的工作:

<ol class="breadcrumb">
<li class="active">
@Html.ActionLink("Home", "Index", "Home")
@if (ViewContext.RouteData.Values["controller"] != "Home" && ViewContext.RouteData.Values["action"] != "Index")
{
@:> @Html.ActionLink(ViewContext.RouteData.Values["controller"].ToString(), "Index", ViewContext.RouteData.Values["controller"].ToString())
}

> @ViewBag.SubTitle
</li>
</ol>

但我遇到的问题是,这实际上并没有跟踪您的历史记录,它只是向您显示

Home > ControllerName > CurrentItem

例如

Home > Members > Greg Dodd

当您来自成员(member)搜索页面时,这很有效,但是如果您来自不同的页面,那么您会丢失该历史记录。如何使用 MVC 中的历史记录创建面包屑路径?

我想我要找的是这样的东西:

Home > Controller1 > PreviousItem > ... > CurrentItem

例如如果您打开一个博客,然后打开一个特定的博客项目,然后单击作者姓名,您的面包屑应该是:

Home > Blog > SomeBlogTitle > AuthorName

但是,如果您打开一个作者列表,然后选择一个特定的作者,您将看到使用相同 Controller 呈现的相同 View ,但面包屑应显示:

Home > Authors > AuthorName

最佳答案

如果您想要一个简单的解决方案,您可以使用此代码。它仅用于默认路由配置。

Home / Controller / Page

  @if (ViewContext.RouteData.Values["controller"].ToString().ToLower() != "home")
{
<ol class="breadcrumb">
<li>
@Html.ActionLink("Home", "Index", "Home")
</li>
<li> @Html.ActionLink(ViewContext.RouteData.Values["controller"].ToString(), "Index")
</li>
<li class="active"> @Html.ActionLink(ViewContext.RouteData.Values["action"].ToString(), ViewContext.RouteData.Values["action"].ToString())
</li>
</ol>
}

关于c# - 使用 Bootstrap 的 C# MVC 网站中的面包屑导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21494075/

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