我使用asp.net webforms的vs2015项目模板创建了一个asp.net webforms应用程序。 现在我想使用捆绑,它适用于根级别的所有页面。但是通过模板,所有与用户相关的页面(登录,注册,重置密码等)都位于account-sub文件夹中(例如〜/ account / Login.aspx)
我在BundleConfig.cs中创建了一个类似
的包 bundles.Add(new ScriptBundle("~/bundles/JQWidgets").Include(
"~/jqwidgets/jqxcore.js",
"~/jqwidgets/jqxdata.js",
"~/jqwidgets/jqxbuttons.js",
"~/jqwidgets/jqxscrollbar.js",
"~/jqwidgets/jqxmenu.js",...
在使用捆绑之前,我已经必须在〜/ account / register.aspx中包含脚本,如
<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>
表示使用相对路径而不是绝对路径。现在我想通过使用主页上包含的包来消除这些脚本标记,但是那些脚本不再被识别(&#34; $&#34;未定义)
尝试使用相对路径创建包会导致错误(页面不会加载)。
如何对位于子文件夹中的页面使用捆绑(在母版页或子文件夹中的页面上)?
提示:我使用的是OAuth2.0身份验证,除了登录进程所需的页面(登录,注册,忘记密码等)之外,匿名用户都拒绝了所有页面。这可能是捆绑文件无法找到的原因吗?
答案 0 :(得分:0)
另一个有趣的事情:它只在IE中不起作用,但它在Chrome中有效。
为了让它在IE中运行,我不得不将以下内容添加到web.config:
<location path="bundles">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
答案 1 :(得分:0)
我在子文件夹中托管的应用程序存在类似问题。我的工作方式是从布局模板的此调用中删除〜:@ Scripts.Render(“ / bundles / jquery”)。当我有@ Scripts.Render(“〜/ bundles / jquery”)时,它将子文件夹放在/ bundle的前面,就像src =“ / subfolder / bundles / jquery”一样,而没有〜它变成:src =“ / bundles / jquery”起作用了。希望对您有所帮助。