【发布时间】:2009-11-17 16:14:58
【问题描述】:
我正在为门户框架进行一些头脑风暴,我正在设想一个通过 ViewState 跟踪的面包屑导航堆栈(这样如果用户在浏览器中单击“返回”并单击其他链接,面包屑导航踪迹将离开正确的页面)。我的页面实际上只是 ascx 控件,它们根据 URL 加载到主门户页面上的占位符控件中。当用户点击一个门户链接时,会有一个回发加载原始页面并调用给定链接的“点击”处理程序,然后它应该在向浏览器发送重定向指令以更改之前将当前位置“推送”到面包屑堆栈上我要访问的页面的 URL。
目前我的头脑风暴就是这样,因为一旦我们执行重定向,我们就会失去 ViewState。我没有进行重定向,而是简单地告诉我的主门户页面将当前页面控件替换为目标页面控件,从而避免额外的 http 往返并允许我保留 ViewState。但是后来我的整个网站体验都发生在单个 URL 的上下文中,因此我丢失了 URL 书签等。如果我将一些控件封装在 AJAX 面板中,就浏览器的历史记录而言,整个网站都会发生在一个页面请求中。
我想要的是某种方式让浏览历史记录和 URL 表现得好像每个链接都将它们引导到一个带有描述性 URL 的新页面等等,但仍然有一些方法可以知道用户采取的路径到达他们所在的页面(ViewState 似乎是跟踪这一点的最简单方法)。
谁能推荐一些我可以尝试使用的技术?
【问题讨论】: