ASP.NETWebページ-フォルダー
この章では、フォルダとフォルダパスについて説明します。
この章では、次のことを学びます。
- 論理および物理フォルダ構造について
- 仮想名と物理名について
- WebのURLとパスについて
論理フォルダ構造
以下は、ASP.NETWebページWebサイトの一般的なフォルダー構造です。
- 「アカウント」フォルダには、ログオンファイルとセキュリティファイルが含まれています
- 「App_Data」フォルダーには、データベースとデータファイルが含まれています
- 「画像」フォルダには画像が含まれています
- 「Scripts」フォルダにはブラウザスクリプトが含まれています
- 「共有」フォルダには、一般的なファイル(レイアウトファイルやスタイルファイルなど)が含まれています
物理フォルダ構造
上記のWebサイトの「Images」フォルダの物理的な構造は、コンピュータでは次のようになります。
C:\ Johnny \ Documents \ MyWebSites \ Demo \ Images
仮想名と物理名
上記の例から:
Web画像の仮想名は「Images / pic31.jpg」の場合があります。
ただし、物理的な名前は「C:\ Johnny \ Documents \ MyWebSites \ Demo \ Images \ pic31.jpg」です。
URLとパス
URLは、Webからファイルにアクセスするために使用されます: https ://www.w3schools.com/html/html5_intro.asp
URLは、サーバー上の物理ファイルに対応しています:C:\ MyWebSites \ w3schools \ html \ html5_intro.asp
仮想パスは、物理パスを表すための省略形です。仮想パスを使用する場合は、パスを更新せずにページを別のドメイン(またはサーバー)に移動できます。
URL | https://www.w3schools.com/html/html5_intro.asp |
サーバーネーム | w3schools |
仮想パス | /html/html5_intro.asp |
物理パス | C:\ MyWebSites \ w3schools \ html \ html5_intro.asp |
ディスクドライブのルートはC:\のように記述されていますが、Webサイトのルートは/(スラッシュ)です。
Webフォルダーの仮想パスは、(ほとんど)物理フォルダーと同じになることはありません。
コードでは、コーディング内容に応じて、物理パスと仮想パスの両方を参照します。
ASP.NETには、フォルダーパスを操作するための3つのツールがあります。〜演算子、Server.MapPathメソッド、およびHrefメソッドです。
〜演算子
プログラミングコードで仮想ルートを指定するには、〜演算子を使用します。
パスの代わりに〜演算子を使用すると、コードを変更せずにWebサイトを別のフォルダーまたは場所に移動できます。
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メソッドは、コードで使用されているパスをブラウザーが理解できるパスに変換します(ブラウザーは〜演算子を理解できません)。
Hrefメソッドを使用して、画像ファイルやCSSファイルなどのリソースへのパスを作成します。
You will often use this method in HTML <a>, <img>, and <link> elements:
@{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"
/>
The Href method is a method of the WebPage Object.