# 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 是用來訪問網站中的文件: [http://www.w3cschool.cc/html/html-tutorial.html](/html/html-tutorial.html)
URL 對應于服務器上的物理文件:C:\MyWebSites\w3cschool\html\html-tutorial.html
虛擬路徑是物理路徑的一種簡寫表示。如果您使用虛擬路徑,當您更改域名或者將您的網頁移到其他服務器上時,您可以不用更新路徑。
| URL | http://www.w3cschool.cc/html/html-tutorial.html |
| --- | --- |
| 服務器名稱 | w3cschool |
| 虛擬路徑 | /html/html-tutorial.html |
| 物理路徑 | 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 對象的一種方法。
- C# 基礎
- C# 簡介
- C# 環境
- C# 程序結構
- C# 基本語法
- C# 數據類型
- C# 類型轉換
- C# 變量
- C# 常量
- C# 運算符
- C# 判斷
- C# 循環
- C# 封裝
- C# 方法
- C# 可空類型(Nullable)
- C# 數組(Array)
- C# 字符串(String)
- C# 結構(Struct)
- C# 枚舉(Enum)
- C# 類(Class)
- C# 繼承
- C# 多態性
- C# 運算符重載
- C# 接口(Interface)
- C# 命名空間(Namespace)
- C# 預處理器指令
- C# 正則表達式
- C# 異常處理
- C# 文件的輸入與輸出
- C# 高級
- C# 特性(Attribute)
- C# 反射(Reflection)
- C# 屬性(Property)
- C# 索引器(Indexer)
- C# 委托(Delegate)
- C# 事件(Event)
- C# 集合(Collection)
- C# 泛型(Generic)
- C# 匿名方法
- C# 不安全代碼
- C# 多線程
- ASP.NET 簡介
- Web Pages 教程
- ASP.NET Web Pages - 教程
- ASP.NET Web Pages - 添加 Razor 代碼
- ASP.NET Web Pages - 頁面布局
- ASP.NET Web Pages - 文件夾
- ASP.NET Web Pages - 全局頁面
- ASP.NET Web Pages - HTML 表單
- ASP.NET Web Pages - 對象
- ASP.NET Web Pages - 文件
- ASP.NET Web Pages - 幫助器
- ASP.NET Web Pages - WebGrid 幫助器
- ASP.NET Web Pages - Chart 幫助器
- ASP.NET Web Pages - WebMail 幫助器
- ASP.NET Web Pages - PHP
- ASP.NET Web Pages - 發布網站
- Razor 教程
- ASP.NET Razor - 標記
- ASP.NET Razor - C# 和 VB 代碼語法
- ASP.NET Razor - C# 變量
- ASP.NET Razor - C# 循環和數組
- ASP.NET Razor - C# 邏輯條件
- ASP.NET Razor - VB 變量
- ASP.NET Razor - VB 循環和數組
- ASP.NET Razor - VB 邏輯條件
- MVC 教程
- ASP.NET MVC 教程
- ASP.NET MVC - Internet 應用程序
- ASP.NET MVC - 應用程序文件夾
- ASP.NET MVC - 樣式和布局
- ASP.NET MVC - 控制器
- ASP.NET MVC - 視圖
- ASP.NET MVC - SQL 數據庫
- ASP.NET MVC - 模型
- ASP.NET MVC - 安全
- ASP.NET MVC - HTML 幫助器
- ASP.NET MVC - 發布網站
- Web Forms 教程
- ASP.NET Web Forms - 教程
- ASP.NET Web Forms - HTML 頁面
- ASP.NET Web Forms - 服務器控件
- ASP.NET Web Forms - 事件
- ASP.NET Web Forms - HTML 表單
- ASP.NET Web Forms - 維持 ViewState
- ASP.NET Web Forms - TextBox 控件
- ASP.NET Web Forms - Button 控件
- ASP.NET Web Forms - 數據綁定
- ASP.NET Web Forms - ArrayList 對象
- ASP.NET Web Forms - Hashtable 對象
- ASP.NET Web Forms - SortedList 對象
- ASP.NET Web Forms - XML 文件
- ASP.NET Web Forms - Repeater 控件
- ASP.NET Web Forms - DataList 控件
- ASP.NET Web Forms - 數據庫連接
- ASP.NET Web Forms - 母版頁
- ASP.NET Web Forms - 導航
- Web Pages 參考手冊
- ASP.NET Web Pages - 類
- ASP.NET Web Pages - WebSecurity 對象
- ASP.NET Web Pages - Database 對象
- ASP.NET Web Pages - WebMail 對象
- ASP.NET Web Pages - 更多幫助器
- MVC - 參考手冊
- Web Forms 參考手冊
- ASP.NET Web Forms - HTML 服務器控件
- ASP.NET Web Forms - Web 服務器控件
- ASP.NET Web Forms - Validation 服務器控件
- 免責聲明