作为替代方案,您可以使用 cookie。我更喜欢这种方法,因为它会使地址栏更干净,看起来更优雅。该过程对用户也是透明的。这也应该可以防止一些恶意用户使用您的登录页面重定向到不需要的网站。
在重定向到登录页面的代码中:
Response.Cookies.Add(new HttpCookie("returnUrl", Request.Url.PathAndQuery));
Response.Redirect("login.aspx");
在您的登录页面中:
HttpCookie returnCookie = Request.Cookies["returnUrl"];
if((returnCookie == null) || string.IsNullOrEmpty(returnCookie.Value))
{
Response.Redirect("Default.aspx");
}
else
{
HttpCookie deleteCookie = new HttpCookie("returnUrl");
deleteCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(deleteCookie);
Response.Redirect(returnCookie.Value);
}
这个
注意:如果您有安全问题,您应该对返回 URL 运行一些验证。