asp.net webformsのvs2015プロジェクトテンプレートを使用してasp.net webformsアプリケーションを作成しました。 これで、バンドルを使用したいと思います。ルートレベルのすべてのページで動作します。しかし、テンプレートによって、すべてのユーザー関連ページ(ログイン、登録、パスワードリセットなど)はアカウントサブフォルダにあります(例:〜/ account/Login.aspx)サブフォルダ内のWebページでバンドルが機能しない
BundleConfig.csのバンドルを
bundles.Add(new ScriptBundle("~/bundles/JQWidgets").Include(
"~/jqwidgets/jqxcore.js",
"~/jqwidgets/jqxdata.js",
"~/jqwidgets/jqxbuttons.js",
"~/jqwidgets/jqxscrollbar.js",
"~/jqwidgets/jqxmenu.js",...
バンドルを使用する前に、私はすでに
<script src="../jqwidgets/jqxwindow.js" type="text/javascript"></script>
<script src="../jqwidgets/jqxpasswordinput.js" type="text/javascript">
</script>
<script src="../jqwidgets/jqxtooltip.js" type="text/javascript"></script>
<script src="../jqwidgets/jqxvalidator.js" type="text/javascript"></script>
<script src="../jqwidgets/jqxcheckbox.js" type="text/javascript"></script>
のように〜/アカウント/ register.aspx上のスクリプトを含める必要がありました代わりに、絶対パスの相対パスを使用することを意味します。このスクリプトタグは、マスターページに含まれているバンドルを使用して削除したいが、それらのスクリプトはもう認識されない( "$"は未定義)
相対パスでバンドルを作成しようとするとエラーが発生するページは読み込まれません)。
サブフォルダにあるページにバンドル(マスターページまたはサブフォルダ内のページ)を使用するにはどうすればよいですか?
ヒント:私はOAuth2.0認証を使用しています。ログインプロセス(ログイン、登録、pwdの忘れなど)に必要なページを除いて、すべてのページが匿名ユーザーに対して拒否されています。バンドルファイルが見つからないという理由がありますか?