2009-05-30 14 views
6

私はASP .Net MVCアプリケーションを開発しています。私の開発マシンでは、アプリケーションが期待通りに動作し、さらに重要なのは、あまりにも。ASP .Net MVC - 公開されたビルドに画像が表示されない

ただし、このアプリケーションをテストサーバーに公開すると、Webアプリケーションは正常に動作しますが、イメージは表示されません。

テストサーバーからの出力をテストするときにIEのURLを変更すると、イメージが返されます。つまり、ファイルが存在しますが、サイトを正常に使用している場合は表示ページ内に表示されません。

代替サーバーも試しましたが、結果は同じです。確認するには

、ここでは画像を参照するCSSページから行が任意の提案は...

background-image: url('/Content/Images/Logo/myLogo.jpg'); 

ですか?

乾杯

ブレット

答えて

19

URLが原因サーバのルートではもはやあなたがサブフォルダに公開しているので、彼らはあるという事実にありそう、正しくありません。私は通常、ハードコーディングする代わりにURLを構築するのにUrl.Content("~/Content/Images/...")を使用します。そうすることで、経路を構築する際の経路が考慮されます。

例:

<img src='<%= Url.Content("~/Content/Images/banner.jpg") %>' alt="Banner" /> 
1

可能な相対パスは、彼らはCSSファイル自体のために間違っている可能性が...間違っています。 FireBugを使用してCSSが正しくロードされているかどうかを確認し、イメージリクエストを調べることができます。このような状況では、赤い(エラー)項目が表示されることがよくあります。これは問題のローカライズに役立ちます。

+0

良い計画 - 私はFireFoxとFireBugをダウンロードし、それが役立つかどうかを確認します。 –

0

なぜこれを行う必要があります...私のプロジェクトを終了し、今私はこの形式にすべてを変更する必要があります!すべての私のjavascriptが失敗している、すべての私のイメージが失敗している!いくつかの奇妙な理由のために私のCSSはちょうど良いですが、なぜこれは文書化されていないのですか? Url.Contentはintellisenseの下に表示されません! ASPのMVCはただの私の愛の点でポイントを失った。

3

--veryイライラコーダは、私は同じ問題があったが、私はそれがContentsフォルダに認証を強制された理由を発見しました。

ユーザーがまだログインしていない場合、ユーザーは匿名認証に分類されます。 IIS7(これは私が使用しているもので、IIS6でも同じです)では、機能ビューで認証ウィンドウを開く必要があります。次に、匿名認証を編集してアプリケーションプールIDを使用するか、既定のものを使用します。ユーザーがそのフォルダを読み取る権限を持っていることを確認します。

それは私のために固定それはあなたのために動作することを願っています。

関連する問題