none
ASP.NET MVC3でルートページと指定ページのCSSやファイルのパスの違いについて  RRS feed

  • 質問

  • ローカルの開発Webサーバー(http://localhost:3310/)だと

    CSS、pngファイルなどのパス指定は[../../xxx.css]の指定でOKなのですが、IIS(5.1)だと、ルートページ(デフォルトページ)

    だけは、[../../xxx.css]ではなく、「xxx。css」の指定でないといけない。(「../../]なし)

    http://www.test.co.jp/mvc1 ----->の場合はhtmlのパスは「xxx.css」

    http://www.test.co.jp/mvc1/Home/Index---->の場合はhtmlのパスは[../../xxx.css」

    @HTML.ActionLink でデフォルトページリンクの場合も同じで[../../]なしの[xxx.css]  でなければならない

    デフォルトページと、そうでない時に「../../」のパス指定の違いが生じる原因はなんでしょうか?

    開発Webサーバー上では「../../」付きでデフォルトページも問題なく表示されるのでIISの指定に何かあるのでしょうか?

     

    2011年8月27日 7:59

回答

  • 以前回答した内容をご理解いただけていないようで...。

    ASP.NET(MVC3)でリンクをイメージボタンで行いたい
    http://social.msdn.microsoft.com/Forums/ja-JP/vbgeneralja/thread/7055807d-8a2f-4a95-bd7a-240075e74708/#64b0d8d4-1887-4716-9db2-f34f510cfdee

    xxx.css へのパスが記述してある HTML が同じファイルであっても、URL からすると全く異なった位置にありますので、CSS を相対パスで記述しようとしている限りはご質問のような状況になってしまいます。
    静的コンテンツへの URL を埋め込みたいときは、Url.Content ヘルパーを使えば、「../../」を付けるとか付けないとか余計なことを考えなくても、アプリケーションのルートからのパスで記述できるようになります。

    あと、ASP.NET MVC 絡みのご質問は「ASP.NET フォーラム」に投稿するのが良いと思います。
    今回のご質問の内容ですと Visual Basic とは全く関係がないように見えますし、「ASP.NET MVC」というくらいなので「ASP.NET」の方に投稿する方が、適切な人の目に留まりやすいはずです。
    • 回答としてマーク winwin333 2011年8月27日 9:31
    2011年8月27日 8:50