1

win2008サーバーでVS2008を使用して開発された非常に優れたMVCベータアプリケーションがあります。問題は、IIS6 仮想ディレクトリに展開しようとしたときに始まりました。MVC ベータ版をターゲットの win2003 サーバー ボックスにインストールした後、アプリケーションを仮想ディレクトリから表示することができましたが、すべての画像と css 属性が欠落しています。プレースホルダーは、アプリケーションが実行されている仮想ディレクトリではなく、ルート Web サイトにイメージを配置する必要があることを示唆しています。

実際のパス:

http://localhost/Content/images/<myimage>.png

それよりも:

http://localhost/<virtualdirectory>/Content/images/<myimage>.png

アプリケーションを独自の Web サイト (ルート) にインストールすると、すべて正常に動作します。Web プロパティを "Use Visual Studio Development Server"/Specific Port / に設定し、仮想パスを追加することで、VS2008 でこれを複製できます。

プロジェクトの Web プロパティを「ローカル IIS Web サーバーを使用する」に設定し、仮想ディレクトリを作成することで、これを複製することもできます。

mvc url ルーティングに関して、明らかに欠けているものがあります。ここでのガイダンスをいただければ幸いです。

4

1 に答える 1

5

どのように画像を参照しましたか? "~/" は "アプリ ルート" ("/" は "サイト ルート") を意味するように開始する必要があります。つまり、"/Content/images/myimage.png" です。

ただし、一部のコントロールは、仮想パスを置換せずにこれをクライアントに送信します。関連するスレッド(jsについて話していますが、概念は同じです)については、こちらを参照してください(簡単なソリューション/アプローチの例が含まれています)。

また、仮想はアプリですか?歯車のアイコン...

<base href...>(アプリ ルートへの) マスター ページのタグを検討してください。

于 2009-01-17T09:33:57.253 に答える