ASP.NET Web Pages – 文件夾(文件路徑基本規範)
ASP.NET Web Pages – 文件夾(文件路徑基本規範)
資料來源: https://www.runoob.com/aspnet/webpages-folders.html
邏輯文件夾結構
下面是典型的ASP.NET 網站文件夾結構:
“Account” 文件夾包含登錄和安全文件
“App_Data” 文件夾包含數據庫和數據文件
“Images” 文件夾包含圖片
“Scripts” 文件夾包含瀏覽器腳本(JS)
“Shared” 文件夾包含公共的文件(比如佈局和样式文件)(CSS)
物理文件夾結構
在上述網站中的”Images”文件夾在計算機上的物理文件夾結構可能如下:
C:\Documents\MyWebSites\Demo\Images
虛擬名稱和物理名稱
以上面的例子為例:
網站圖片的虛擬名稱可能是”Images/pic31.jpg”。
對應的物理名稱是”C:\Documents\MyWebSites\Demo\Images\pic31.jpg”。
URL 和路徑
URL 是用來訪問網站中的文件: http://www.runoob.com/html/html-tutorial.html
URL 對應於服務器上的物理文件:C:\MyWebSites\runoob\html\html-tutorial.html
虛擬路徑是物理路徑的一種簡寫表示。如果您使用虛擬路徑,當您更改域名或者將您的網頁移到其他服務器上時,您可以不用更新路徑。
URL http://www.runoob.com/html/html-tutorial.html
服務器名稱 RUNOOB
虛擬路徑 /html/html-tutorial.html
物理路徑 C:\MyWebSites\runoob\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 對象的一種方法。