ASP.NET Web Pages - 檔案夾
本章介紹有關檔案夾和檔案夾路徑的知識。
在本章中,您將學到:
邏輯檔案夾結構和物理檔案夾結構
虛擬名稱和實體名稱
Web URL 和 Web 路徑
邏輯檔案夾結構
下面是典型的 ASP.NET 網站檔案夾結構:
"Account" 檔案夾包含登入和安全檔案
"App_Data" 檔案夾包含資料庫和資料檔案
"Images" 檔案夾包含圖片
"Scripts" 檔案夾包含瀏覽器指令碼
"Shared" 檔案夾包含公用的檔案(比如布局和樣式檔案)
物理檔案夾結構
在上述網站中的"Images"檔案夾在電腦上的物理檔案夾結構可能如下:
C:\Documents\MyWebSites\Demo\Images
虛擬名稱和實體名稱
以上面的例子為例:
網站圖片的虛擬名稱可能是"Images/pic31.jpg"。
對應的實體名稱是"C:\Documents\MyWebSites\Demo\Images\pic31.jpg"。
URL 和路徑
URL 是用來訪問網站中的檔案:www.w3cschool.cc/html/html-tutorial.html
URL 對應於伺服器上的物理檔案:C:\MyWebSites\w3cschool\html\html-tutorial.html
虛擬路徑是實體路徑的一種簡寫表示。如果您使用虛擬路徑,當您更改網域名稱或者將您的網頁移到其他伺服器上時,您可以不用更新路徑。
磁碟機的根目錄如下書寫 C: ,但是網站的根目錄是 / (斜線)。
Web 資料夾的虛擬路徑通常是與物理檔案夾不相同。
在您的代碼中,根據您的編碼需要決定使用實體路徑和和虛擬路徑。
ASP.NET 檔案夾路徑有 3 種工具:~ 運算子、Server.MapPath 方法 和 Href 方法。
~ 運算子
使用 ~ 運算子,在編程代碼中規定虛擬路徑。
如果您使用 ~ 運算子,在您的網站遷移到其他不同的檔案夾或者位置時,您可以不用更改您的任何代碼:
var myImagesFolder = "~/images";var myStyleSheet = "~/styles/StyleSheet.css";
Server.MapPath 方法
Server.MapPath 方法將虛擬路徑(/index.html)轉換成伺服器能理解的實體路徑(C:\Documents\MyWebSites\Demo\default.html)。
當您需要開啟伺服器上的資料檔案時,您可以使用這個方法(只有提供完整的實體路徑才能訪問資料檔案):
var pathName = "~/dataFile.txt";var fileName = Server.MapPath(pathName);
在本教程的下一章中,您會學到更多關於讀取(和寫入)伺服器上的資料檔案的知識。
Href 方法
Href 方法將代碼中的使用的路徑轉換成瀏覽器可以理解的路徑(瀏覽器無法理解 ~ 運算子)。
您可以使用 Href 方法建立資源(比像檔案 和 CSS 檔案)的路徑。
一般會在 HTML 中的 <a>、<img> 和 <link> 元素中使用此方法:
@{var myStyleSheet = "~/Shared/Site.css";}<!-- 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 對象的一種方法。
【相關推薦】
1. 分享ASP.NET學習筆記(1)--WebPages Razor
2. 分享ASP.NET學習筆記(2)--WebPages 介紹
3. 分享ASP.NET學習筆記(3)WebPages 布局