zoukankan      html  css  js  c++  java
  • ASP.NET取得Request 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

    注:本篇文章来源于http://blog.miniasp.com/post/2008/02/How-Do-I-Get-Paths-and-URL-fragments-from-the-HttpRequest-object.aspx

  • 相关阅读:
    Delphi ADOQuery连接数据库的查询、插入、删除、修改
    Delphi开发的一些技巧
    获取的数据载入listview控件中
    第一个Directx程序
    edit编辑框只能输入数字和一个小数点
    (原创) 一个通用的C++ 消息总线框架
    springboot 集成logback 及配置,日志格式,重复打印配置
    算法09未排序数组中累加和为给定值的最长子数组长度
    算法12猫狗队列
    算法06由两个栈组成的队列
  • 原文地址:https://www.cnblogs.com/bruce-song/p/5390829.html
Copyright © 2011-2022 走看看