ASP.NET Web Pages - フォルダー
- 前のページ WebPages レイアウト
- 次のページ WebPages グローバル
本章ではフォルダーとフォルダーパスについて紹介します。
本章では以下のことを学びます:
- 論理と物理フォルダー構造
- 仮想と物理名
- web URLとパス
論理フォルダー構造
以下はASP.NETウェブページの典型的なフォルダー構造です:

- "Account"フォルダーにはログインとセキュリティファイルが含まれています。
- "App_Data"フォルダーにはデータベースとデータファイルが含まれています。
- "Images"フォルダーには画像が含まれています。
- "Scripts"フォルダーにはブラウザスクリプトが含まれています。
- "Shared"フォルダーには一般的なファイル(例えばレイアウトやスタイルシートファイル)が含まれています。
物理ファイル構造
上記のウェブサイトの「Images」フォルダーの物理構造はコンピューター上で以下のようになります:
C:\Johnny\Documents\MyWebSites\Demo\Images
仮想と物理名
上記の例に従って:
web画像の仮想名は「Images/pic31.jpg」のような形です。
しかし、物理名は「C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg」のような形です。
URLとパス
URLはwebファイルへのアクセスに使用されます:
http://www.codew3c.com/html5/html5_intro.asp
サーバー上で対応するファイルは以下の通りです:
C:\MyWebSites\htm5\html5_intro.asp
仮想パスは物理パスを表す短縮形です。仮想パスを使用すると、パスを更新しないでウェブページを異なるドメイン(またはサーバー)に移動できます。
URL http://www.codew3c.com/html/html5_intro.asp サーバー名 codew3c 仮想パス /html/html5_intro.asp 物理パス C:\MyWebSites\codew3c\/html/html5_intro.asp
ディスクドライブのルートディレクトリはC:\と書かれますが、ウェブサイトのルートディレクトリは/(スラッシュ)です。
webフォルダーの仮想パスは、物理フォルダーとは異なることがほとんどです。
コードの内容によっては、物理パスと仮想パスを同時に参照することがあります。
ASP.NETは、フォルダーパスを処理するためのツールを3種類提供しています:~演算子、Server.MapPathメソッド、Hrefメソッド。
~演算子
プログラミングコードで仮想ルートディレクトリを指定する場合は、~演算子を使用してください。
~演算子を使用すると、コードを変更せずに、ウェブサイトを異なるフォルダーや場所に移動することができます:
var myImagesFolder = "~/images"; var myStyleSheet = "~/styles/StyleSheet.css";
Server.MapPath メソッド
Server.MapPath メソッドは仮想パス (/default.cshtml) をサーバーが理解できる物理パス (C:\Johnny\MyWebSited\Demo\default.cshtml) に変換します。
サーバー上に位置するデータファイルを開く必要がある場合、このメソッドを使用します(データファイルは完全な物理パスでアクセスできます):
var pathName = "~/dataFile.txt"; var fileName = Server.MapPath(pathName);
次の章では、サーバー上でデータファイルを読み書きする方法について学びます。
Href メソッド
Href メソッドはコード中のパスをブラウザが理解できるパスに変換します(ブラウザは ~ 操作子を理解できません)。
リソース(例えば画像や CSS ファイル)へのパスを作成するために Href メソッドを使用します。
HTML <a>、<img>、<link> 要素でよく使用される该方法です:
@{var myStyleSheet = "~/Shared/Site.css";} <!-- CSS ファイルへのリンクを作成する --> <link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" /> <!-- 同上 : --> <link rel="stylesheet" type="text/css" href="/Shared/Site.css" />
Href メソッドは WebPage オブジェクトのメソッドに属しています。
- 前のページ WebPages レイアウト
- 次のページ WebPages グローバル