问个Request.UrlReferrer的问题

aixichuan 2009-03-30 02:36:27
我想用Request.UrlReferrer实现登陆后页面B回到上一页面A,但是听说使用Request.UrlReferrer时,A页面就不能用Response.Redirect来跳转到页面B,否则Request.UrlReferrer就得不到A页面的URL,那我要怎么实现呢?如果用A页面用href来实现跳转,那href怎么用在button事件里呢?除了用Request.UrlReferrer还有别的方法吗?为了说的更明白,我把部分代码给出来了,哪位高手帮我下,先谢谢了!
A页面的button事件代码:
protected void btnReply_Click(object sender, EventArgs e)
{
int topicid = Convert.ToInt32(Request.QueryString["Topic_ID"]);
if (Session["login_name"]==null )
{
Response.Write("<script language='JavaScript'>alert('对不起,你尚未登录,请登录!');</script>");
Response.Write("<script language=javascript>window.location.href='Login.aspx'</script>");
}
B页面的代码:
protected void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
if (Request.UrlReferrer != null) //
{
ViewState["UrlReferrer"] = Request.UrlReferrer.ToString();
}
}
protected void ButtonLogin_Click(object sender, System.EventArgs e)
{
if (user.Exist) //如果用户存在
{
if (user.Password == password) //如果密码正确,转入帖子列表页面
{
Session["login_name"] = userLoginName;
if(ViewState["UrlReferrer"]!=null)

Response.Redirect((String)ViewState["UrlReferrer"]);
}
}
}



...全文
460 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen_ya_ping 2009-06-17
  • 打赏
  • 举报
回复
WebForm2.aspx
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string[] s = Request.UrlReferrer.Segments;
ViewState["url"] = s[s.Length - 1];
}
}
protected void Button_Click1(object sender, EventArgs e)
{

Response.Redirect(ViewState["url"].ToString());
}

GridViewCheckBox.aspx
<a href=WebForm2.aspx>打开</a>
igelf 2009-06-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sky0120 的回复:]
楼上方法虽然可行,但是如果有100个页面的话,需要在这100个页面里都写一遍Response.Redirect("b.aspx?url="+.......
[/Quote]
可以写成通用的..
sky0120 2009-06-17
  • 打赏
  • 举报
回复
楼上方法虽然可行,但是如果有100个页面的话,需要在这100个页面里都写一遍Response.Redirect("b.aspx?url="+.......

John_Hee 2009-04-25
  • 打赏
  • 举报
回复
哇,牛人啊~~
LZ为什么一定要用UrlReferrer呢,楼上的就是一个不错的方法
周公 2009-04-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cpp2017 的回复:]
可以在Redirect的时候加参数,
如Response.Redirect("b.aspx?url="+.......
[/Quote]
顶,可以将登录前的页面放在查询字符串中,csdn就是这么做的。
cpp2017 2009-03-30
  • 打赏
  • 举报
回复
可以在Redirect的时候加参数,
如Response.Redirect("b.aspx?url="+.......
copico 2009-03-30
  • 打赏
  • 举报
回复
竟然你用的是Session来判断用户是否存在的话,那你在跳转到登录页面的时候把本页的URL带过去,等用户登录成功后再跳转到该页面就可以了。

62,268

社区成员

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

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

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

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