• 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:\Projects\Solution\web\News\Press\Content.aspx
    System.IO.Path.GetDirectoryName(Request.PhysicalPath) D:\Projects\Solution\web\News\Press
    Request.PhysicalApplicationPath D:\Projects\Solution\web\
    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\testweb\
    Request.PhysicalPath: E:\WWW\testweb\default.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

  • 相关阅读:
    经典:基因组测序数据从头拼接或组装算法的原理
    基于全基因组测序数据鉴定结构变异的四大类算法总结
    TCGA各种肿瘤数据的20多种不同玩法/挖掘方法
    基于基因组测序数据鉴定单碱基变异的方法总结
    单细胞转录组测序技术及各类数据分析方法总结
    基因组测序、外显子测序和靶向测序有什么样的区别,如何选择?
    m6A甲基化及预测方法工具总结
    单细胞转录组测序数据的可变剪接(alternative splicing)分析方法总结
    基于单细胞测序数据构建细胞状态转换轨迹(cell trajectory)方法总结
    shell中处理excel文件
  • 原文地址:https://www.cnblogs.com/ghfsusan/p/1508673.html
Copyright © 2020-2023  润新知