本章介紹文件夾和文件夾路徑。 在本章中,您將學(xué)到:
邏輯文件夾結(jié)構(gòu)下面是 ASP.NET 網(wǎng)頁(yè)的典型文件夾結(jié)構(gòu): ![]()
物理文件結(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 訪問文件: URL 在服務(wù)器上對(duì)應(yīng)的文件是: C:\MyWebSites\htm5\html5_intro.asp 虛擬路徑是代表物理路徑的簡(jiǎn)寫形式。如果您使用虛擬路徑,就能夠在不更新路徑的情況下將網(wǎng)頁(yè)移動(dòng)到不同的域名(或服務(wù)器)。 URL http://www.w3school.com.cn/html/html5_intro.asp 服務(wù)器名 w3school 虛擬路徑 /html/html5_intro.asp 物理路徑 C:\MyWebSites\w3school\/html/html5_intro.asp 磁盤驅(qū)動(dòng)器上的根目錄寫作: 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)需要打開位于服務(wù)器上的數(shù)據(jù)文件時(shí),您就會(huì)用到該方法(數(shù)據(jù)文件只能通過完整的物理路徑來(lái)訪問): var pathName = "~/dataFile.txt"; var fileName = Server.MapPath(pathName); 在本教程的下一章中,您將學(xué)習(xí)更多有關(guān)在服務(wù)器上讀取和寫入數(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ì)象的方法。 |
|