ASP.NET Web Pages - 文件夾
本章介紹文件夾和文件夾路徑。
在本章中,您將學(xué)到:
- 邏輯和物理文件夾結(jié)構(gòu)
- 虛擬和物理名稱
- web URL 和路徑
邏輯文件夾結(jié)構(gòu)
下面是 ASP.NET 網(wǎng)頁(yè)的典型文件夾結(jié)構(gòu):

- "Account" 文件夾包含登錄和安全文件
- "App_Data" 文件包含數(shù)據(jù)庫(kù)和數(shù)據(jù)文件
- "Images" 文件夾包含圖片
- "Scripts" 文件夾包含瀏覽器腳本
- "Shared" 文件夾包含通用文件(比如布局和樣式文件)
物理文件結(jié)構(gòu)
上面這個(gè)網(wǎng)站的 "Images" 文件夾的物理結(jié)構(gòu)在計(jì)算機(jī)上類似這樣:
C:\Johnny\Documents\MyWebSites\Demo\Images
虛擬和物理名稱
根據(jù)上面的例子:
web 圖片的虛擬名稱類似這樣:"Images/pic31.jpg"。
但是物理名稱類似這樣 "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"。
URL 和路徑
URL 用于從 web 訪問(wèn)文件:
http://www.dbjr.com.cn/html5/html5_intro.asp
URL 在服務(wù)器上對(duì)應(yīng)的文件是:
C:\MyWebSites\htm5\html5_intro.asp
虛擬路徑是代表物理路徑的簡(jiǎn)寫(xiě)形式。如果您使用虛擬路徑,就能夠在不更新路徑的情況下將網(wǎng)頁(yè)移動(dòng)到不同的域名(或服務(wù)器)。
URL http://www.dbjr.com.cn/html/html5_intro.asp 服務(wù)器名 w3school 虛擬路徑 /html/html5_intro.asp 物理路徑 C:\MyWebSites\w3school\/html/html5_intro.asp
磁盤(pán)驅(qū)動(dòng)器上的根目錄寫(xiě)作: C:\,但是網(wǎng)站上的根目錄是 /(斜杠)。
web 文件夾的虛擬路徑(幾乎)永遠(yuǎn)不會(huì)與物理文件夾相同。
在您的代碼中,根據(jù)代碼內(nèi)容的不同,可能會(huì)同時(shí)引用物理路徑和虛擬路徑。
ASP.NET 提供三種處理文件夾路徑的工具:~ 操作符、Server.MapPath 方法以及 Href 方法。
~ 操作符
如需在編程代碼中規(guī)定虛擬根目錄,請(qǐng)使用 ~ 操作符。
如果您使用 ~ 操作符,而不是路徑,就能夠在不改變?nèi)魏未a的情況下,將網(wǎng)站移動(dòng)到不同的文件夾或位置:
var myImagesFolder = "~/images"; var myStyleSheet = "~/styles/StyleSheet.css";
Server.MapPath 方法
Server.MapPath 方法將虛擬路徑 (/default.cshtml) 轉(zhuǎn)換為服務(wù)器能夠理解的物理路徑 (C:\Johnny\MyWebSited\Demo\default.cshtml)。
當(dāng)需要打開(kāi)位于服務(wù)器上的數(shù)據(jù)文件時(shí),您就會(huì)用到該方法(數(shù)據(jù)文件只能通過(guò)完整的物理路徑來(lái)訪問(wèn)):
var pathName = "~/dataFile.txt"; var fileName = Server.MapPath(pathName);
在本教程的下一章中,您將學(xué)習(xí)更多有關(guān)在服務(wù)器上讀取和寫(xiě)入數(shù)據(jù)文件的知識(shí)。
Href 方法
Href 方法把代碼中的路徑轉(zhuǎn)換為瀏覽器能夠理解的路徑(瀏覽器無(wú)法理解 ~ 操作符)。
您使用 Href 方法來(lái)創(chuàng)建指向資源(比如圖片和 CSS 文件)的路徑。
您會(huì)經(jīng)常在 HTML <a>、<img> 以及 <link> 元素中用到該方法:
@{var myStyleSheet = "~/Shared/Site.css";} <!-- 創(chuàng)建指向 CSS 文件的鏈接 --> <link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" /> <!-- 同上 : --> <link rel="stylesheet" type="text/css" href="/Shared/Site.css" />
Href 方法屬于 WebPage 對(duì)象的方法。