C# 会话结束并重新登录后,将用户重定向到上次访问的页面
我试图实现一个选项,当用户超时时,在他再次登录后,他将被重定向到他所在的上一个页面。我似乎遇到的问题是,当会话结束时,我无法获取页面的url。 我试过这样的方法:C# 会话结束并重新登录后,将用户重定向到上次访问的页面,c#,asp.net,session,C#,Asp.net,Session,我试图实现一个选项,当用户超时时,在他再次登录后,他将被重定向到他所在的上一个页面。我似乎遇到的问题是,当会话结束时,我无法获取页面的url。 我试过这样的方法: protected void Session_end(object sender, EventArgs e) { string userUrl = Request.Url.AbsoluteUri; Application["userUrl"] = userUrl; } 在会话开始时,检查url是否存在并重定向到它 p
protected void Session_end(object sender, EventArgs e)
{
string userUrl = Request.Url.AbsoluteUri;
Application["userUrl"] = userUrl;
}
在会话开始时,检查url是否存在并重定向到它
protected void Session_Start(object sender, EventArgs e)
{
try
{
string userUrl = Application["userUrl"].ToString();
}
catch
{}
}
我得到的错误是string userUrl=Request.Url.AbsoluteUri上的“请求在此上下文中不可用”代码>
. 有人能解释一下我做错了什么吗?在每次页面加载中,您都应该将用户名和url存储在某个持久存储中。然后,当新会话开始查找用户名的url并将客户端重定向到此页面时。在每个页面加载中,您应该将用户名和url存储在某个持久存储中。然后,当新会话开始查找用户名的url并将客户端重定向到此页面。在会话_End()中,如果要访问请求对象,需要通过HttpContext.Current.Request访问它
但据我所知,若您使用表单身份验证,当会话结束时,默认情况下FormAuthenticationModule会将您重定向到登录页面,url中的查询字符串为returnUrl。在登录页面中,您只需检查该参数,并在身份验证成功后执行重定向。在会话_End()中,如果要访问请求对象,需要通过HttpContext.Current.Request访问它
但据我所知,若您使用表单身份验证,当会话结束时,默认情况下FormAuthenticationModule会将您重定向到登录页面,url中的查询字符串为returnUrl。在登录页面中,您只需检查该参数,并在身份验证成功后执行重定向