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

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

  • 相关阅读:
    《算法导论》第十章----基本数据结构
    《算法导论》第九章----中位数和顺序统计学
    《算法导论》第八章----线性时间排序(决策树+计数排序+基数排序)
    C++实现快速排序
    C++实现斐波那契第N项非递归与递归实现的时间比较
    C++实现用两个栈实现队列
    C++实现从尾到头打印链表(不改变链表结构)
    C++实现二叉树(建树,前序,中序,后序)递归和非递归实现
    Spark 大数据文本统计
    逻辑回归--参数解释+数据特征不独热编码+训练数据分布可视话
  • 原文地址:https://www.cnblogs.com/Alex80/p/6410616.html
Copyright © 2011-2022 走看看