2

ファイル パスで ~/ を使用すると、現在のフォルダーまたは Web サイトのルートに解決されますか?

私はそのようなファイル構造を持っています:

\
->Folder
-->Page1.Aspx

->App_Themes
-->Theme1
--->Images
--->StyleSheet.css

->Includes
-->Footer.htm

Default.aspx
Default.master

Page1.aspx と default.aspx に default.master ページを使用しています。マスターページは<!-- #include file="includes/Footer.htm" -->. 次に、Footer.html で次のような画像のパスを使用します: ~/App_Themes/Theme1/Images/Image1.png".

画像は default.aspx では正しく表示されますが、Page1.aspx では見つかりません。~/ ファイル パスで使用すると、Web サイトのルートを意味すると思いましたか?

編集:

私は間違っていました.defaut.aspxでも機能していません. 機能していたパスは、/App_Themes/Theme1/Images/Image1.png です。

4

1 に答える 1

5

現在のWebアプリケーションのルートに解決されます。これは、Webサイト全体のルートである場合とそうでない場合があります。

違いを理解するには、この記事を参照してください。

原則として、Visual Studioで「Webサイト」または「Webアプリケーション」を作成する場合、実際にはIISspeakで「Webアプリケーション」を作成します。

さらに水を濁すために、概念的には、Webサイトのルートはそれ自体がIISの「アプリケーション」であるため、VisualStudioWebサイト/WebアプリケーションをWebサイトのルートに公開できます。その場合、〜/はサイトのルートを参照します。

ただし、複数のアプリケーションがすべて1つのサイトで実行されている場合、それぞれの〜/はそのアプリケーションのルートを参照します。

たとえば、MySite.comにはさまざまなアプリケーションがあるとします

  • mySite.Com-Visual Studioの個別のアプリで、一般的なサイトコンテンツがあります。
  • mySite.Com/shopにはショッピングカートがあります。これは、Visual Studioの別個のアプリであり、別個のIISアプリケーションです。
  • MySite.Com/Supportには、カスタマーサポート用の個別の個別のアプリケーションが含まれています。チケットの提出、ライブオペレーターとのチャットなど。

上記のすべてにおいて、mysite.comはウェブサイトです。ただし、/*はアプリケーションを示します。〜/は参照します

  • mySite.Com/
  • mySite.Com/shop/

  • MySite.Com/Support/

それぞれ

于 2012-07-04T19:00:25.637 に答える