Cassette.net、MVC 3、Razor、C#、相対位置、および共有レイアウトを使用して、元の JavaScript ファイルを変更せずに正しい順序で参照を取得するにはどうすればよいでしょうか?
共有レイアウトでは、次のように jQuery を参照します。
Bundles.Reference("~/Scripts/jquery-1.7.2.js");
次に、ビューに別の参照を追加します。
Bundles.Reference("~/Scripts/myScript.js");
myScript は jQuery に依存していますが、Cassette は jQuery の前で myScript を参照しています。
<script src="/_cassette/asset/Scripts/js/myScript.js?...
<script src="/_cassette/asset/Scripts/jquery-1.7.2.js?...
子ページで参照されているスクリプトが親ページのスクリプトの前にレンダリングされるのは奇妙だと思います。
たとえば、スクリプトに表記を追加できるようですが/// <reference path="other.js" />
、これを含めるために JavaScript コードを変更したくありません。
アップデート:
追加した
Bundles.Reference("~/Scripts/jquery-1.7.2.js","head")
Bundles.Reference("~/Scripts/js/myScript.js","body")
少なくとも、適切なタグを使用@Bundles.RenderScripts("head");
して jQuery スクリプトの後にスクリプトを配置します。@Bundles.RenderScripts("body");
スクリプトを追加された順序で保持しているようです。ある種の Bundle.config を使用してこれらのスクリプトをカスタム オーダーする方法、または共有レイアウトを使用して子ページの前に親ページにスクリプトをオーダーさせる方法を知りたいです。