国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

Url相對路徑的問題總結

2020-01-24 03:39:42
字體:
來源:轉載
供稿:網友
最讓人擔心的是,有時候必須使用絕對路徑(如asp.net中的master內容),因為處于開發過程,沒有目標地址,也就無法配置絕對路徑。有時確必須使用相對路徑。

但是相對路徑寫好了,卻存在各種各樣的問題。
今天,我介紹大家兩種不一樣的方法。
首先介紹最簡單的就是HTML5里新增的Base標簽。
我們看它的用法,必須包含在head標簽中。

復制代碼 代碼如下:

<head>
<base target="_blank" href="www.Test.com" />
</head>


最重要的是,base標簽配置好以后,瀏覽器將不再使用當前文檔內的相對URL,而使用指定的基本 URL 來解析所有的相對 URL。
看上圖,如果你的<a>、<img>、<link>、<form> 標簽中的URL為"chamychen.jpg",那么瀏覽器會在鏈接地址時自動在此URL前加上base標簽中指定的href地址,其打開方式也將遵循Base標簽中設定的target屬性。那么以后,我們可以在master,mvc可以在layout.shtml中設置base標簽,來解決頭疼的絕對徑路和相對徑路的問題。我們以后,可以把所有的相對徑路,都設置成從網站根目錄下開始。Base中配置網址就可以,解決所有的相對路徑和絕對路徑的問題了。
針對不支持html5的瀏覽器,其實我們可以使用C#寫幾句代碼,就可以獲取網站根目錄的地址了:
復制代碼 代碼如下:

public static string HostUrl()
{
String path = HttpContext.Current.Request.Url.Scheme + "://" +
HttpContext.Current.Request.Url.Authority +
(HttpContext.Current.Request.ApplicationPath == "/" ? "" : HttpContext.Current.Request.ApplicationPath);
return path;
}


綜上所述:你只需要使用“網址+相對路徑”的方式就能夠處理因相對徑路引發的問題。
如:http://www.Test.com/ab/abc.jpg
可以使用Base標簽:
<head>
<base target="_blank" href="www.Test.com" />
</head>

相對路徑寫成:<img src="ab/abc.jpg"/>
如果使用多C#來支持:則為HostUrl()+"ab/abc.jpg"
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屏南县| 海淀区| 都昌县| 波密县| 德令哈市| 九寨沟县| 通河县| 贵阳市| 姚安县| 青海省| 滦平县| 绥阳县| 泌阳县| 杨浦区| 通城县| 宁城县| 定日县| 鄂伦春自治旗| 长兴县| 轮台县| 当涂县| 陇南市| 罗田县| 宜丰县| 龙口市| 新津县| 大竹县| 大理市| 胶南市| 铁力市| 皮山县| 合川市| 谷城县| 浦北县| 九寨沟县| 福贡县| 安阳市| 蓬安县| 体育| 内黄县| 铜陵市|