如何在Sitecore网站上存储访问的最后一页,然后在用户返回时显示该页面

Nil*_*Pun 0 asp.net-mvc sitecore sitecore6

作为Sitecore的新手,我正在构建一个没有身份验证的Sitecore Web应用程序(匿名).这是一个大型项目,有许多分层的顶部,侧面菜单.

当用户重新访问网站时,我需要加载上次访问的页面,并突出显示菜单项.有人可以帮助我是否有任何Sitecore API提供此,如果不是什么是理想的解决方案,即存储客户端cookie上的最后访问页面?

Tra*_*yek 5

我能看到的一个选项就是像你说的那样将最后访问过的页面存储在客户端cookie上,然后构建一个自定义处理器并将其放入

<httpRequestBegin>
Run Code Online (Sandbox Code Playgroud)

web.config中的管道.

自定义处理器需要从HttpRequestProcessor类继承,您需要覆盖Process方法.

在这种情况下,我建议您使用这样的自定义处理器:

<processor type="Your.NameSpace.ClassName, Your.Assembly" />
<processor type="Sitecore.Pipelines.HttpRequest.ItemResolver, Sitecore.Kernel" />
Run Code Online (Sandbox Code Playgroud)

并具有以下内容:

namespace Your.Namespace
{
    public class ClassName : HttpRequestProcessor
    {
        public override void Process(HttpRequestArgs args)
        {
            // Get cookie:
            var cookievalue = WebUtil.GetCookieValue("cookiename");
            WebUtil.Redirect(cookievalue);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当然,这表明您将在cookie中存储上次访问过的页面的URL.您当然也可以将最后访问过的项目的ID存储在cookie中,然后从那里获取它的路径.