登录后返回访问页面

jjoulejcc 2008-05-24 12:36:16
访问一个页面但这个页面需要登录后才能访问,那登录后再返回这个页面,一般是怎么做的?
用Request.ServerVariables["HTTP_REFERER"]好像不行,因为我在那个页面使用的是Response.Redirect()跳转到登录页面,在网上查了一下,说这样是不行的。我想了一个办法,就是在要访问的页面中获取这个页面的URL,然后保存到Session中,然后登录完之后就可以用这个Session中的URL返回到要访问的页面。不知道还有没有其它的办法,我主要是想了解大家一般是怎么做的。
...全文
122 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
AIRFLYNET 2008-05-24
  • 打赏
  • 举报
回复
if(Request.QueryString["ReturnUrl"]!=null)
Response.Redirect(Request.QueryString["ReturnUrl"].ToString());
lb0726 2008-05-24
  • 打赏
  • 举报
回复
保存在Url里也行
popeyepower 2008-05-24
  • 打赏
  • 举报
回复
我是存到session里做的...因为有时候A页面需要登陆.会跳到B提示页面,可能从B又要跳到C登陆页面.跳过两次,refer里面的东西就不对了.
xiaomatian 2008-05-24
  • 打赏
  • 举报
回复
楼上的可以的。

或者在发送过去之间就把该地址也一起发送过去,***.aspx?ReturnURL=XXXX

等都可以的
amandag 2008-05-24
  • 打赏
  • 举报
回复
可以使用视图状态存储

登录页面
    protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//在视图状态中存放前一页面的URL
if (Request.UrlReferrer != null)
ViewState["ReferrerUrl"] = Request.UrlReferrer.ToString();
}
}

protected void btnLogin_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
try
{
//验证登录操作
if (登录成功)
{
//可以要将登录信息写入cookie或者session
//根据视图状态跳转
if (ViewState["ReferrerUrl"] != null)
Response.Redirect(ViewState["ReferrerUrl"].ToString());
else
Response.Redirect("default.aspx");
}
else
{
lblMessage.Text = "用户名或密码不正确";
}
}
catch (Exception)
{
lblMessage.Text = "服务器错误,请稍候再试!";
}
}
}
wangdetian168 2008-05-24
  • 打赏
  • 举报
回复
跳到登陆之前传递一个url地址
登陆之后
判断地址是否为空
不是空跳到指定的地址

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧