ASP.NET Web Pages - 文件夹
この章では、フォルダとフォルダパスに関する知識を紹介します。
この章では、次のことを学びます:
- 論理フォルダ構造と物理フォルダ構造
- 仮想名と物理名
- Web URL と Web パス
論理フォルダー構造
以下は、典型的な ASP.NET Web サイトのフォルダ構造です:

- "Account"フォルダーにはログインとセキュリティファイルが含まれる
- "App_Data" フォルダには、データベースとデータファイルが含まれます。
- "Images"フォルダーには画像が含まれる
- "Scripts" フォルダには、ブラウザスクリプトが含まれます。
- "Shared" フォルダには、共通ファイル(レイアウトやスタイルファイルなど)が含まれます。
物理フォルダー構造
上記の Web サイト内の "Images" フォルダのコンピュータ上の物理フォルダ構造は、次のようになる場合があります:
C:\Documents\MyWebSites\Demo\Images
仮想名と物理名
上記の例を例にとると:
Web サイトの画像の仮想名は "Images/pic31.jpg" のようになります。
対応する物理名は"C:\Documents\MyWebSites\Demo\Images\pic31.jpg"です。
URLとパス
URL は、Web サイト内のファイルにアクセスするために使用されます:http://www.example.com/html/html-tutorial.html
URL はサーバー上の物理ファイルに対応します:C:\MyWebSites\サンプル\html\html-tutorial.html
仮想パスは、物理パスの簡略表現です。仮想パスを使用すると、ドメイン名を変更したり、ウェブページを他のサーバーに移動したりしても、パスを更新する必要はありません。
| URL | http://www.example.com/html/html-tutorial.html |
| 服务器名称 | サンプル |
| 虚拟路径 | /html/html-tutorial.html |
| 物理路径 | C:\MyWebSites\サンプル\html\html-tutorial.html |
ディスクドライブのルートディレクトリは C: のように記述しますが、ウェブサイトのルートディレクトリは / (スラッシュ)です。
Web フォルダの仮想パスは、通常、物理フォルダとは異なります。
コード内では、コーディングの必要性に応じて物理パスと仮想パスを決定します。
ASP.NETフォルダーパスには3つのツールがあります:~演算子、Server.MapPathメソッド、Hrefメソッド。
~ 运算符
~ 演算子を使用して、プログラミングコード内で仮想パスを指定します。
~ 演算子を使用すると、サイトを別のフォルダや場所に移行する場合でも、コードを変更する必要はありません:
var myStyleSheet = "~/styles/StyleSheet.css";
Server.MapPath 方法
Server.MapPathメソッドは仮想パス(/index.html)をサーバーが理解できる物理パス(C:\Documents\MyWebSites\Demo\default.html)に変換します。
サーバー上のデータファイルを開く必要がある場合、この方法を使用できます(データファイルにアクセスできるのは、完全な物理パスを指定した場合のみです):
var fileName = Server.MapPath(pathName);
このチュートリアルの次の章では、サーバー上のデータファイルの読み取り(および書き込み)について、さらに詳しい知識を学ぶことができます。
Href 方法
Href メソッドは、コード内で使用されるパスを、ブラウザが理解できるパスに変換します(ブラウザは ~ 演算子を理解できません)。
Href メソッドを使用して、リソース(画像ファイルや CSS ファイルなど)のパスを作成できます。
通常、HTML の <a>、<img>、<link> 要素でこのメソッドを使用します:
<!-- This creates a link to the CSS file. -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet).html" />
<!-- Same as : -->
<link rel="stylesheet" type="text/css" href="../Shared/Site.css.html" />
Href メソッドは、WebPage オブジェクトのメソッドです。
其他扩展