asp.net登录成功后跳转到刚刚浏览的页面

当用户浏览网页的时候会在某个地方需要用户登陆才能继续浏览,用户登陆之后会自动跳转到刚刚浏览的页面。这个步骤是怎么实现的呢?net小伙在查阅相关资料实践之后终于明白了,其实很简单,先分享给大家吧。

  当用户在浏览一个页面的时候,如果需要登录,就在此页面记录当前的URL,然后传到都登录页面,登录成功之后,通过接收的值返回到上一个页面。这里有两种方法:

  ①:通过页面传值的方法:

    先获取当前页面的URL:string  url = Request.UrlReferrer;

    通过代码进行传值:Response.Redirect( "/login.aspx?url= "+System.Web.HttpUtility.UrlEncode(url));

    登录成功之后加上:Response.Redirect(System.Web.HttpUtility.UrlDecode(Request.QueryString[ "url "].ToString()));

    完成上面的步骤就可以实现跳转上一个页面了。

  ②:通过设置Session的值来实现此功能:

    同样先获取当前页面的URL:string  url = Request.UrlReferrer;

    然后设置Session的值:Session["url"] = url;

    登录成功之后加上:Response.Redirect(System.Web.HttpUtility.UrlDecode(Session["url"].ToString()));

    OK!完成任务。

  不过net小伙在测试的时候发现这两种方法只适用于同一个文件夹中,如图:

 

                                          

转自http://www.cnblogs.com/ngnetboy/archive/2012/05/31/2528800.html

posted @ 2014-04-29 10:24  Emerald_Sword  阅读(309)  评论(0)    收藏  举报