我在.net 4.0中创建了一个网站,其中用户首次登录并重定向到仪表板页面,登录后,用户面板中有8个页面,母版页中有一个注销按钮。我想存储在用户注销的页面上,以及下次登录时,他的会话将被恢复(重定向到他注销的同一页面)。 谁能给我任何暗示?
答案 0 :(得分:4)
您将会话与Session
混淆... Session
是一个ASP.NET类,只要您在应用程序中激活了Session支持,它就可用于每个页面(默认情况下,它是打开的,并默认将其值存储在 memory 中)。但这些Session
超时;经过一段时间的不活动 - 比如15分钟 - 服务器清除内存。
你的意思只是一个会话:用户登录,做东西,然后退出。
为了自动返回到登录时他所在的最后一页,您需要做的就是让Log out按钮的代码存储数据库中的Request.Uri.AbsoluteUri
字符串。因此,只需在代码隐藏存储中使用该按钮的Click
事件处理程序,该值将与用户的ID一起使用。
然后,“登录”按钮的Click
事件后面的代码可以简单地检索该值,并Response.Redirect
到该Uri。
答案 1 :(得分:3)
您可以使用:
并将其存储在会话中。
Session["LastVisitedPage_" + userId] = Request.Url.AbsoluteUri;
答案 2 :(得分:2)
您可以使用Request.Url获取当前页面的网址。当用户单击注销按钮时,将当前URL存储在数据库中。下次用户登录时,从数据库中检索URL并重定向到该URL。
答案 3 :(得分:2)
退出:
Session.abandon();
存储会话:
Session["name"] = Request.Url.AbsoluteUri;