ASP.NET Web Pages - 文件夾
本章介紹有關(guān)文件夾和文件夾路徑的知識(shí)。
在本章中,您將學(xué)到:
邏輯文件夾結(jié)構(gòu)和物理文件夾結(jié)構(gòu)
虛擬名稱(chēng)和物理名稱(chēng)
Web URL 和 Web 路徑
邏輯文件夾結(jié)構(gòu)
下面是典型的 ASP.NET 網(wǎng)站文件夾結(jié)構(gòu):

"Account" 文件夾包含登錄和安全文件
"App_Data" 文件夾包含數(shù)據(jù)庫(kù)和數(shù)據(jù)文件
"Images" 文件夾包含圖片
"Scripts" 文件夾包含瀏覽器腳本
"Shared" 文件夾包含公共的文件(比如布局和樣式文件)
物理文件夾結(jié)構(gòu)
在上述網(wǎng)站中的"Images"文件夾在計(jì)算機(jī)上的物理文件夾結(jié)構(gòu)可能如下:
C:\Documents\MyWebSites\Demo\Images
虛擬名稱(chēng)和物理名稱(chēng)
以上面的例子為例:
網(wǎng)站圖片的虛擬名稱(chēng)可能是"Images/pic31.jpg"。
對(duì)應(yīng)的物理名稱(chēng)是"C:\Documents\MyWebSites\Demo\Images\pic31.jpg"。
URL 和路徑
URL 是用來(lái)訪問(wèn)網(wǎng)站中的文件:http://www.w3cschool.cc/html/html-tutorial.html
URL 對(duì)應(yīng)于服務(wù)器上的物理文件:C:\MyWebSites\w3cschool\html\html-tutorial.html
虛擬路徑是物理路徑的一種簡(jiǎn)寫(xiě)表示。如果您使用虛擬路徑,當(dāng)您更改域名或者將您的網(wǎng)頁(yè)移到其他服務(wù)器上時(shí),您可以不用更新路徑。
URL | http://www.w3cschool.cc/html/html-tutorial.html |
服務(wù)器名稱(chēng) | w3cschool |
虛擬路徑 | /html/html-tutorial.html |
物理路徑 | C:\MyWebSites\w3cschool\html\html-tutorial.html |
磁盤(pán)驅(qū)動(dòng)器的根目錄如下書(shū)寫(xiě) C: ,但是網(wǎng)站的根目錄是 / (斜線)。
Web 文件夾的虛擬路徑通常是與物理文件夾不相同。
在您的代碼中,根據(jù)您的編碼需要決定使用物理路徑和和虛擬路徑。
ASP.NET 文件夾路徑有 3 種工具:~ 運(yùn)算符、Server.MapPath 方法 和 Href 方法。
~ 運(yùn)算符
使用 ~ 運(yùn)算符,在編程代碼中規(guī)定虛擬路徑。
如果您使用 ~ 運(yùn)算符,在您的站點(diǎn)遷移到其他不同的文件夾或者位置時(shí),您可以不用更改您的任何代碼:
var myStyleSheet = "~/styles/StyleSheet.css";
Server.MapPath 方法
Server.MapPath 方法將虛擬路徑(/)轉(zhuǎn)換成服務(wù)器能理解的物理路徑(C:\Documents\MyWebSites\Demo\default.html)。
當(dāng)您需要打開(kāi)服務(wù)器上的數(shù)據(jù)文件時(shí),您可以使用這個(gè)方法(只有提供完整的物理路徑才能訪問(wèn)數(shù)據(jù)文件):
var fileName = Server.MapPath(pathName);
在本教程的下一章中,您會(huì)學(xué)到更多關(guān)于讀取(和寫(xiě)入)服務(wù)器上的數(shù)據(jù)文件的知識(shí)。
Href 方法
Href 方法將代碼中的使用的路徑轉(zhuǎn)換成瀏覽器可以理解的路徑(瀏覽器無(wú)法理解 ~ 運(yùn)算符)。
您可以使用 Href 方法創(chuàng)建資源(比如圖像文件 和 CSS 文件)的路徑。
一般會(huì)在 HTML 中的 <a>、<img> 和 <link> 元素中使用此方法:
<!-- This creates a link to the CSS file. -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" />
<!-- Same as : -->
<link rel="stylesheet" type="text/css" href="/Shared/Site.css" />
Href 方法是 WebPage 對(duì)象的一種方法。