【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小伙在测试的时候发现这两种方法只适用于同一个文件夹中,如图:
如果正在浏览aindex.aspx需要登录,跳转到login.aspx,登录之后浏览器就会报错,不会回到aindex.aspx,这个问题现在正困扰着net小伙,如果有可以解决此问题的还请不吝赐教!