我正在开发一个网页(MVC dotnetcore)
,它也有很多网页和流量。用户可以从许多不同的方式接近单个页面。当用户想要返回时我会陷入困境,而且我没有跟踪其最后一个URL。并且我对如何处理这种情况感到困惑?
我应该使用全局变量来跟踪最后一个URL吗?
但是在这种情况下,我要在每个屏幕上执行可重复的代码,或者可以用于每个get / post调用。
OR
我应该使用哪种面包屑结构?
就像用户从Index移动Admin一样,会出现类似这样的内容
Index >> Admin
进一步
Index >> Admin >> ManageUsers
这些将是他们相关页面的链接。 但我不知道如何在mvc dotnetcore中处理这个问题?任何想法??
哪种方法很好用?任何形式的帮助将不胜感激。
答案 0 :(得分:3)
我知道答案有点老了,但是在创建网站时遇到了同样的问题。我不想在两个项目中都重复代码,我希望面包屑可以处理多个级别,尤其是不在同一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的示例
答案 1 :(得分:1)
我建议你使用 breadcumb 。它是一个引导组件,您可以在前端管理它。在站点地图中,您必须做一些额外的工作。与sitemap相比,breadcumb很简单,只需要很少的努力,你也可以自定义它 breadcomb 请访问以上链接,这将对您有所帮助