ASP.NET Web Pages - 文件夾
- 上一頁 WebPages 布局
- 下一頁 WebPages 全局
本章介紹文件夾和文件夾路徑。
在本章中,您將學到:
- 邏輯和物理文件夾結構
- 虛擬和物理名稱
- web URL 和路徑
邏輯文件夾結構
下面是 ASP.NET 網頁的典型文件夾結構:

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