• 登录之后跳转页面


    当用户浏览网页的时候会在某个地方需要用户登陆才能继续浏览,用户登陆之后会自动跳转到刚刚浏览的页面。这个步骤是怎么实现的呢?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()));

     

    设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli
    "http://"是协议名
    "www.jb51.net"是域名
    "aaa"是站点名
    "bbb.aspx"是页面名(文件名)
    "id=5&name=kelli"是参数
    【1】获取 完整url (协议名+域名+站点名+文件名+参数)
    代码如下:

    string url=Request.Url.ToString();
    url= http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli


    【2】获取 站点名+页面名+参数:
    代码如下:

    string url=Request.RawUrl;
    (或 string url=Request.Url.PathAndQuery;)
    url= /aaa/bbb.aspx?id=5&name=kelli


    【3】获取 站点名+页面名:
    代码如下:

    string url=HttpContext.Current.Request.Url.AbsolutePath;
    (或 string url= HttpContext.Current.Request.Path;)
    url= aaa/bbb.aspx


    【4】获取 域名:
    代码如下:

    string url=HttpContext.Current.Request.Url.Host;
    url= www.jb51.net


    【5】获取 参数:
    代码如下:

    string url= HttpContext.Current.Request.Url.Query;
    url= ?id=5&name=kelli
    代码如下:

    Request.RawUrl:获取客户端请求的URL信息(不包括主机和端口)------>/Default2.aspx
    Request.ApplicationPath:获取服务器上ASP.NET应用程序的虚拟路径。------>/
    Request.CurrentExecutionFilePath:获取当前请求的虚拟路径。------>/Default2.aspx
    Request.Path:获取当前请求的虚拟路径。------>/Default2.aspx
    Request.PathInfo:取具有URL扩展名的资源的附加路径信息------>
    Request.PhysicalPath:获取与请求的URL相对应的物理文件系统路径。------>E: empDefault2.aspx
    Request.Url.LocalPath:------>/Default2.aspx
    Request.Url.AbsoluteUri:------>http://localhost:8080/Default2.aspx

    作者:课间一起牛

    出处:https://www.cnblogs.com/mhg215/

    声援博主:如果您觉得文章对您有帮助,请点击文章末尾的【关注我】吧!

    别忘记点击文章右下角的【推荐】支持一波。~~~///(^v^)\~~~ .

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    如果您有其他问题,也欢迎关注我下方的公众号,可以联系我一起交流切磋!

    码云:码云      github:github

  • 相关阅读:
    简单介绍三层架构
    Java字符串常量池是什么?为什么要有这种常量池?
    java中String、StringBuffer和StringBuilder的区别(简单介绍)
    java中equals以及==的用法(简单介绍)
    关于java中Exception异常
    职场沟通,别光靠嘴
    小目标 | DAX高级实践-Power BI与Excel联合应用
    本号讯 | 微软和百度携手推进全球自动驾驶技术; 微软发布新一代可垂直可水平滚动的Arc鼠标
    你有一枚私人同声传译员待领取
    有了这套物联网节水平台,他决定回去继续管理农场
  • 原文地址:https://www.cnblogs.com/mhg215/p/6402269.html
Copyright © 2020-2023  润新知