2017-07-07 11 views
0

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の忘れなど)に必要なページを除いて、すべてのページが匿名ユーザーに対して拒否されています。バンドルファイルが見つからないという理由がありますか?

答えて

0

もう1つ面白いこと:IEでは動作しませんでしたが、Chromeで動作しました。それはIEでも動作する取得するには

は、私は、web.configファイルに以下を追加する必要がありました:

<location path="bundles"> 
    <system.web> 
     <authorization> 
     <allow users="*"/> 
     </authorization> 
    </system.web> 
    </location> 
関連する問題