zoukankan      html  css  js  c++  java
  • C#取得页面URL信息

    我們在開發網頁應用程式,時常需要去解析網址(Request.Url)的每個片段,進行一些判斷。例如說 "http://localhost:1897/News/Press/Content.aspx/123?id=1#toc",我們想要取得網址裡第一層目錄的名字(News)用以判斷不同的頁面標題(Page Title)。 
    我看很多人都用字串的 IndexOf 方法與 Substring 方法:

    Request.Url.PathAndQuery.Substring(1, Request.Url.PathAndQuery.IndexOf("/", 1)-1)

    這實在太埋沒 .NET 的強大設計了,事實上在 Request 物件就已經提供很多方便的屬性(Property)可供取得網址的片段。 
    底下這張表就是各種跟 Browser Request 的網址相關的屬性與用法: 網址:http://localhost:1897/News/Press/Content.aspx/123?id=1#toc 
    Request.ApplicationPath / 
    Request.PhysicalPath D:ProjectsSolutionwebNewsPressContent.aspx 
    System.IO.Path.GetDirectoryName(Request.PhysicalPath) D:ProjectsSolutionwebNewsPress 
    Request.PhysicalApplicationPath D:ProjectsSolutionweb 
    System.IO.Path.GetFileName(Request.PhysicalPath) Content.aspx 
    Request.CurrentExecutionFilePath /News/Press/Content.aspx 
    Request.FilePath /News/Press/Content.aspx 
    Request.Path /News/Press/Content.aspx/123 
    Request.RawUrl /News/Press/Content.aspx/123?id=1 
    Request.Url.AbsolutePath /News/Press/Content.aspx/123 
    Request.Url.AbsoluteUri http://localhost:1897/News/Press/Content.aspx/123?id=1 
    Request.Url.Scheme http 
    Request.Url.Host localhost 
    Request.Url.Port 1897 
    Request.Url.Authority localhost:1897 
    Request.Url.LocalPath /News/Press/Content.aspx/123 
    Request.PathInfo /123 
    Request.Url.PathAndQuery /News/Press/Content.aspx/123?id=1 
    Request.Url.Query ?id=1 
    Request.Url.Fragment   
    Request.Url.Segments /
    News/
    Press/
    Content.aspx/
    123
     

    所以當你看了這張表之後,你還會想用 Request.Url.PathAndQuery.Substring(1, Request.Url.PathAndQuery.IndexOf("/", 1)-1) 這種寫法嗎? 
    用這樣寫 Request.Url.Segments[1].Replace("/", "") 不是又短又直接嗎? ^_^ 
    ============================================================================ 
    Request获取url信息的各种方法比较 
    在ASP.NET编程中经常需要用Request获取url的有关信息,Request中有多种方法获取url信息,但我经常忘了各种方法的具体作用,今天我就写了个测试程序,将各种方法得到的结果列出来,以后用时直接参考一下就行了。
    测试的url地址是http://www.test.com/testweb/default.aspx, 结果如下:

    Request.ApplicationPath: /testweb
    Request.CurrentExecutionFilePath: /testweb/default.aspx
    Request.FilePath: /testweb/default.aspx
    Request.Path: /testweb/default.aspx
    Request.PathInfo: 
    Request.PhysicalApplicationPath: E:WWW estweb
    Request.PhysicalPath: E:WWW estwebdefault.aspx
    Request.RawUrl: /testweb/default.aspx
    Request.Url.AbsolutePath: /testweb/default.aspx
    Request.Url.AbsoluteUri: http://www.test.com/testweb/default.aspx
    Request.Url.Host: www.test.com
    Request.Url.LocalPath: /testweb/default.aspx

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ChaoYang0502/archive/2008/09/20/2956244.aspx

    /************************************************/

  • 相关阅读:
    Spring Boot (十四): Spring Boot 整合 Shiro-登录认证和权限管理
    Spring Boot (十三): Spring Boot 小技巧
    救人一命是怎样的体验?
    如何做一个对账系统
    人工智能发展史-从图灵测试到大数据
    编程科普书籍推荐
    springcloud(十):服务网关zuul
    springcloud(九):配置中心和消息总线(配置中心终结版)
    springcloud(八):配置中心服务化和高可用
    springcloud(七):配置中心svn示例和refresh
  • 原文地址:https://www.cnblogs.com/Alex80/p/6410616.html
Copyright © 2011-2022 走看看