如何维护面包屑的状态(历史)

时间:2014-04-15 21:09:52

标签: asp.net-mvc-4 navigation breadcrumbs

我正在努力为目录导航系统实现面包屑功能。

在我的应用程序中,用户可以上传zip文件。一旦他这样做,他可以导航zip文件的内容(即导航其文件夹和文件)。我已经实现了那个逻辑。现在我想在页面顶部添加面包屑,以便用户可以单击上一个文件夹并返回到它。我决定创建一个漂亮的Url,但我在其上使用数字(Ids)来从数据库中检索上传和文件夹(或文件)。如果用户当前正在使用id = 10进行上传导航,并且他位于MainDirectory/folder1且文件夹1中有id = 100,那么网址将为localhost:1234/upload/10/dir/100/MainDirectory/folder1/。我同时识别上传和文件夹(或文件)。

创建面包屑时,我可以从Url的最后一部分检索历史记录,但我没有这些文件夹的id。我无法使用文件夹名称作为密钥,因为它不是唯一的。我想过把所有的ID都放在Url上但是它会变得丑陋,就像这样:localhost:1234/upload/10/dir/99/100/MainDirectory/folder1/。这个想法首先是所有的ID,然后是漂亮的路径。

会话浮现在脑海中,但我拒绝了它,因为用户可以同时在不同的标签中导航,面包屑历史记录取决于当前页面。我认为构建面包屑的信息需要在每次请求时发送。

我想不出更好的设计。有什么想法吗?

编辑:我只需要为存储库镜像github导航系统。

0 个答案:

没有答案