同桌上课用手指进去了好爽_欧美丰满熟妇xxⅹⅹ性大i_成人av天天日天天拍拍_猛男gay帅男gay男男同志_欧美va天堂在线观看_人妻无码av中文系列三里桃花_亚欧免费无码在线观看_久久久精品国产亚洲av水_日韩在线免费看污污污_2021无码专区人妻系列日韩

首頁 優(yōu)化推廣 Request.url用法

Request.url用法

來源: | 時間:2013/5/6 8:14:20 |

我們在開發(fā)網(wǎng)頁應(yīng)用程式,時常需要去解析網(wǎng)址(Request.Url)的每個片段,進行一些判斷。例如說 "http://localhost:1897/News/Press/Content.aspx/123?id=1#toc",我們想要取得網(wǎng)址裡第一層目錄的名字(News)用以判斷不同的頁面標(biāo)題(Page Title)。

我看很多人都用字串的 IndexOf 方法與 Substring 方法:

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

這實在太埋沒 .NET 的強大設(shè)計了,事實上在 Request 物件就已經(jīng)提供很多方便的屬性(Property)可供取得網(wǎng)址的片段。

底下這張表就是各種跟 Browser Request 的網(wǎng)址相關(guān)的屬性與用法: 

Response.Redirect(Request.RawUrl)中

Request.RawUrl表示當(dāng)前頁面,獲取當(dāng)前請求的原始 URL。定向到本身,但是又不想寫url
Response.Redirect重新打開頁面。

網(wǎng)址: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

所以當(dāng)你看了這張表之后,你還會想用 Request.Url.PathAndQuery.Substring(1, Request.Url.PathAndQuery.IndexOf("/", 1)-1) 這種寫法嗎?

用這樣寫 Request.Url.Segments[1].Replace("/", "") 不是又短又直覺嗎? ^_^

以下是產(chǎn)生以上表格的程式碼:

protected void Page_Load(object sender, EventArgs e)
    {

        StringBuilder sb = new StringBuilder();

        sb.Append("<table cellpadding=3 cellspacing=0 border=1>");

        sb.Append("<tr><td colspan=2>");
        sb.Append("網(wǎng)址:"http://localhost:1897/News/Press/Content.aspx/123?id=1#toc">http://localhost:1897/News/Press/Content.aspx/123?id=1#toc        sb.Append("</td></tr>"); ");

        // Request.ApplicationPath
        sb.Append("<tr><td>");
        sb.Append("Request.ApplicationPath");
        sb.Append("</td><td>");
        sb.Append("<b>" + Request.ApplicationPath + "</b>");
        sb.Append("</td></tr>");

        // Request.PhysicalPath
        sb.Append("<tr><td>");
        sb.Append("Request.PhysicalPath");
        sb.Append("</td><td>");
        sb.Append("<b>" + Request.PhysicalPath + "</b>");
        sb.Append("</td></tr>");

        // System.IO.Path.GetDirectoryName(Request.PhysicalPath)
        sb.Append("<tr><td>");
        sb.Append("System.IO.Path.GetDirectoryName(Request.PhysicalPath)");
        sb.Append("</td><td>");
        sb.Append("<b>" + System.IO.Path.GetDirectoryName(Request.PhysicalPath) + "</b>");
        sb.Append("</td></tr>");

        // Request.PhysicalApplicationPath
        sb.Append("<tr><td>");
        sb.Append("Request.PhysicalApplicationPath");
        sb.Append("</td><td>");
        sb.Append("<b>" + Request.PhysicalApplicationPath + "</b&g

服務(wù)熱線

153 8323 9821

功能和特性

價格和優(yōu)惠

網(wǎng)站和維護

推廣和優(yōu)化

微信服務(wù)號