Visual Studio 2010 で Asp.Net MVC アプリケーションを開発しました。画像とスクリプト実行のパス解決に関しては、Visual Studio 内ですべてが完璧に実行されます。MVC のデフォルト テンプレートを使用しているので、「../../Script/ * 」を使用しています。.js" のようなパスです。展開用のパッケージをビルドして IIS に展開した後、イメージとスクリプト参照が機能しなくなります。パス解決の問題である可能性があると思います。"~/Script/.js」ですが、どちらも機能しません。なぜこれが起こっているのか誰かが示唆できますか?
3 に答える
asp.net MVC プロジェクトで 2 つのことを使用することを検討してください。
1) _Layout.cshtml を使用して一般的なサイト要素のレイアウトを使用し、その中にすべての javascript ファイルと css ファイルを含め、必要な場合を除き、他の .cshtml ページに配置しないでください。_Layout.cshtmlの使い方はこちら
2) 次に、常に @Url.Content() ディレクティブを使用してパスを定義します。
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
この双方向は常にあなたを助け、パッケージを展開しても問題はありません。
上記の希望が役立ちます。
URL 書き換えを使用するときに asp.net で発生するこのタイプの問題と、asp.net mvc にはデフォルトで URL 書き換えがあります。
したがって、スクリプトまたは URL と js を使用する場合は、このようにパスを設定します。
@Url.Content("~/Your Url or Your script or Your js File ") ;
これが役立つと思います。
MVC には URL を生成する関数が組み込まれているため、URL をハード コードする代わりにそれらを使用します。
@Url.Content("~/yourpath")
Web アプリケーションを IIS にデプロイすると、サイトは仮想ディレクトリとして実行されるように設定されるため、Web サイトのルートはアプリケーションのルートと同じではなくなり、MVC は
ActionLinks,Url.Contents
URL を解決する必要があります。