2011-09-13 12 views
3

http://localhost/で実行されているASP.NET MVC 3のWebサイトがあります。私も新しいプロジェクト(ASP.NET MVC3)を持っていて、アプリケーションとして展開したいのですが URLは次のようになりますhttp://localhost/child/ASP.NET MVC 3 - IIS 7.5のアプリケーションとしてデプロイすると画像が見つかりません

私は画像に問題があります。 <img src="/content/img/site-logo.png" alt="logo" /> を使用して画像を作成した場合、実際のURLは/child/content/img/site-logo.pngであるため、画像は利用できません。

URLをUrl.Content("~/content/img/site-logo.png") に入れれば解決できますが、今はすべての画像を変更したくありません。

もう少し簡単な解決策ですか?一部のIIS 7設定?

+3

弾を噛んで変更してください。 Url.Contentはこの目的のために正確に使用するため、正しく使用できなかったため、料金を支払うようになりました。 –

+0

合意。これがUrl.Contentの目的です。 –

答えて

0

私は Url.Content(「〜/コンテンツ/ IMG /サイト-logo.png」)でURLを置くが、私は今 すべての私のイメージを変更したくない場合、私はそれを解決することができます。

もちろん、IISのWebサイトのルートで実行するようにアプリケーションを設定する以外は、IISの設定には気づいていません。

ASP.NET MVCアプリケーションでURLを扱うときは、常にURLヘルパーを使用する必要があります。あなたは本当にすべてのハードコードされたURLを変更する必要があります、そして、これは画像だけを含んでいない方法で、それはまた、あなたのjavascriptファイルにアクション、フォームコード、URLをアンカーすることができます...

0

仮想ディレクトリルートiisプロジェクトでは、ディレクトリをイメージで指し示します。しかし、おそらく、あなたのイメージパスをクリーンアップするためにこの時間を費やす方がよいでしょう。

2

私は同じ問題を抱えていましたが、なぜコンテンツフォルダに認証が強制されたのかがわかりました。

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

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

関連する問題