1

Razor および C# で ASP.NET MVC3 を使用する。

IIS を介して通常の Web サイトとして実行するように設定されたアプリケーションがあるとしますが、このアプリケーションを別の Web サイトのサブアプリケーションとして実行したいとします。たとえば、サブアプリケーションは、Web サイトのルート (例: www.example.com/SubApp/) の「SubApp」というフォルダに保存されます。

SubApp のカミソリ マークアップ/コード ビハインド内で「~/Images/picture.gif」などの URL を参照すると、SubApp のルートに解決されます。www.example.com/SubApp/Images/picture.gif

ただし、通常の HTML (サブアプリ内) を介して「/Images/picture.gif」を参照すると、サブアプリの親 Web サイトのルートに解決されます。www.example.com/Images/picture.gif

Razor を使用するように書き換えずに、これらの HTML URL をサブアプリケーションのルートに解決する簡単で信頼できる方法はありますか? このような状況で URL を処理する最善の方法は何ですか?

4

1 に答える 1

1

ブラウザから直接要求される純粋なHTMLページを扱っている場合は、相対URLを使用する必要があります。たとえば、次の場合:

/SubApp
    /Images
        foo.gif
    page.html

次を使用する必要があります。

<img src="foo.gif" />

page.html内。「../」を使用して、ディレクトリなどを上に移動できます。

残念ながら、より複雑なサーバー側ルーティングシナリオを扱っている場合は、それを処理するために何らかのサーバー側コードを使用する必要があります。

于 2012-05-01T01:01:57.173 に答える