Asp.net mvc 如何在Sitecore站点上存储访问的最后一个页面,然后在用户返回时显示该页面

Asp.net mvc 如何在Sitecore站点上存储访问的最后一个页面,然后在用户返回时显示该页面,asp.net-mvc,sitecore,sitecore6,Asp.net Mvc,Sitecore,Sitecore6,对于Sitecore来说,我是个新手,我正在构建一个没有身份验证(匿名)的Sitecore web应用程序。这是一个大项目,有很多层次化的顶部和侧面菜单 当用户重新访问网站时,我需要加载上次访问的页面,并突出显示菜单项。是否有人可以帮助我,是否有任何Sitecore API提供此功能,如果没有,理想的解决方案是什么,即将上次访问的页面存储在客户端cookie上?据我所知,默认API中没有任何内容可以做到这一点 Sitecore OMS中可能有一些内容,但我对OMS了解不多 我认为cookie可能

对于Sitecore来说,我是个新手,我正在构建一个没有身份验证(匿名)的Sitecore web应用程序。这是一个大项目,有很多层次化的顶部和侧面菜单


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

据我所知,默认API中没有任何内容可以做到这一点

Sitecore OMS中可能有一些内容,但我对OMS了解不多


我认为cookie可能是最简单的方法。

据我所知,默认API中没有任何东西可以做到这一点

Sitecore OMS中可能有一些内容,但我对OMS了解不多


我认为cookie可能是实现这一点的最简单方法。

我可以看到的一个选项是将上次访问的页面存储在客户端cookie上,如您所说,然后内置自定义处理器并将其放入

<httpRequestBegin>

当然,这建议您将上次访问的页面的URL存储在cookie中。当然,您也可以将上次访问的项目的ID存储在cookie中,并从中获取其路径。

我可以看到的一个选项是,如您所说,将上次访问的页面存储在客户端cookie中,然后内置自定义处理器并将其放入

<httpRequestBegin>

当然,这建议您将上次访问的页面的URL存储在cookie中。当然,您也可以将上次访问项目的ID存储在cookie中,并从中获取它的路径。

我刚刚看到这篇文章,正如Holder提到的,如果您启用了DMS并正在使用它,那么应该可以从DMS获取信息:


我刚刚看到这篇文章,正如Holder提到的,如果您启用了DMS并正在使用它,那么应该可以从DMS获取信息:


谢谢你,首先你会如何给饼干写信?对于每个菜单项单击或任何请求处理器?您可以使用WebUtil.SetCookieValue(“cookiename”,“cookievalue”[,expirationdate])执行某些操作,可能会在每个页面的页面加载上调用它(或者放置不同的处理器)。困难在于区分当前访问和下一次访问(您不希望人们在访问期间被重定向到旧页面)。此外,霍尔格说的话可能值得一看,OMS/DMS中可能有一些东西可以帮助您做到这一点(区分访问等)。谢谢,您首先会如何向cookie写信?对于每个菜单项单击或任何请求处理器?您可以使用WebUtil.SetCookieValue(“cookiename”,“cookievalue”[,expirationdate])执行某些操作,可能会在每个页面的页面加载上调用它(或者放置不同的处理器)。困难在于区分当前访问和下一次访问(您不希望人们在访问期间被重定向到旧页面)。此外,霍尔格说,OMS/DMS中可能有一些东西可以帮助您做到这一点(区分访问等),这可能是值得研究的
namespace Your.Namespace
{
    public class ClassName : HttpRequestProcessor
    {
        public override void Process(HttpRequestArgs args)
        {
            // Get cookie:
            var cookievalue = WebUtil.GetCookieValue("cookiename");
            WebUtil.Redirect(cookievalue);
        }
    }
}