我正在开发一个有很多页面和流量的网站(MVC dotnetcore)
。用户可以从许多不同的方式接近单个页面。当用户想要返回时我会陷入困境,而且我没有跟踪其最后一个URL。而我对如何处理这种情况感到困惑?
我应该使用全局变量来跟踪最后一个URL吗?
但在这种情况下,我要在每个屏幕上做一个可重复的代码,或者可能是每个get / post调用。
要么
我应该使用哪种面包屑结构?
就像用户从Index移动Admin一样,会有这样的东西
Index >> Admin
并进一步
Index >> Admin >> ManageUsers
这些将是他们相关页面的链接。但我不知道如何在mvc dotnetcore中处理这个问题?任何的想法??
哪种方法很好用?任何形式的帮助将不胜感激。
我知道答案有点旧,但在创建网站时遇到了同样的问题。我不想在两个项目中重复代码,我希望面包屑能够处理多个级别,尤其是不在同一个Controller中的级别。我最终创建了一个小程序包来管理所有这些:SmartBreadcrumbs(在Nuget中可用)。
它非常易于使用,您只需要:
services.UseBreadcrumbs(GetType().Assembly);
[DefaultBreadcrumb("My home")]
添加到您的默认节点(通常是Home)[Breadcrumb("Contact me", FromAction = "Index" FromController = typeof(HomeController))]
添加到其他级别(FromAction可以是Controller.Action的任意组合)PS:即使没有指定FromAction
,默认节点也始终存在。
关于github链接或Blog post的更多信息。
编辑:更新了2.0.0版的示例
我建议你使用面包车。它是一个引导组件,您可以在前端管理它。在站点地图中,您必须做一些额外的工作。与sitemap相比,breadcumb很简单,只需要很少的努力,你也可以自定义它breadcomb请访问上面的链接它将对你有所帮助