ASP.net MVC3保存用户在返回站点时查看显示的最后一页

时间:2012-05-04 17:00:45

标签: asp.net asp.net-mvc-3 session redirect cookies

我的网站使用Windows Live对用户进行身份验证。这个问题是它们被重定向到远离站点登录,然后回到我自己的SignIn操作,该操作在用户注册/登录到我的站点。然后默认情况下,我将SignIn操作重定向到用户的个人资料页面。

但我想要的是SignIn操作将它们返回到他们查看的最后一页。这似乎应该很简单。

我的第一个想法是将以下内容添加到我保存用户当前位置的重要操作中:

Session["LastPage"] = RedirectToAction("Index", "Home");

然后在我的SignIn操作结束时,我试图包括:

if (Session["LastPage"] != null)
    return (ActionResult)Session["LastPage"];
else
    return RedirectToAction("MyPage", "User");

这实际上并不起作用,因为显然我的会话每次用户导航离开并返回到站点时都会重新启动。

我是否以正确的方式处理这个问题?如果是这样,我如何防止会话被擦除?如果我以完全错误的方式解决这个问题,那么有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

您应该设置WindowsLiveLogin对象的ReturnUrl属性(假设您正在使用它)。

http://msdn.microsoft.com/en-us/library/cc287661.aspx