C# 呈现jquery包时出现奇怪的问题
在我的一个页面上尝试使用C# 呈现jquery包时出现奇怪的问题,c#,asp.net-mvc-4,razor,C#,Asp.net Mvc 4,Razor,在我的一个页面上尝试使用@Scripts.Render()时,我得到了一个奇怪的结果 jquery捆绑包的捆绑包配置如下: bundles.Add(new ScriptBundle("~/bundles/jquery").Include( "~/Scripts/jquery-1.9.1.min.js", "~/Scripts/jquery-ui-1.10.3.min.js")); 然后在视图中调用,如下所示: @Scripts.R
@Scripts.Render()
时,我得到了一个奇怪的结果
jquery捆绑包的捆绑包配置如下:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-1.9.1.min.js",
"~/Scripts/jquery-ui-1.10.3.min.js"));
然后在视图中调用,如下所示:
@Scripts.Render("~/bundles/jquery")
生成raphaeljs或my system.js文件的链接没有问题。但它根本不呈现jquery
运行时的结果如下:
<link href="/Content/System.css" rel="stylesheet"/>
<link href="/Content/jquery.qtip.css" rel="stylesheet"/>
<script src="/Scripts/system.js"></script>
<!--qtip-->
<script src="/Scripts/jquery.qtip.js"></script>
<!--Jquery-->
<!--Raphaeljs-->
<script src="/Scripts/raphael-min.js"></script>
有两种可能的解决方案。我在上一个项目中遇到了完全相同的问题 第一次尝试:这是我最好的机会。这告诉助手在调试时忽略.min.js。DOM上的一些插件可能已经缩小。要求助手缩小它会导致其逻辑混乱
BundleTable.Bundles.IgnoreList.Clear(); // apparently, IgnoreList included .min.js in debug
BundleTable.Bundles.IgnoreList.Ignore(".intellisense.js", OptimizationMode.Always);
BundleTable.Bundles.IgnoreList.Ignore("-vsdoc.js", OptimizationMode.Always);
BundleTable.Bundles.IgnoreList.Ignore(".debug.js", OptimizationMode.Always);
这是一个捆绑设置。因此,将代码放在其他捆绑代码之前
第二次尝试:通过nuget package manager将ASP.NET WEB Optimization HELPER更新为预发布版本
PM> Install-Package Microsoft.AspNet.Web.Optimization -Pre
我建议你在第二个选项之前先尝试第一个选项。预发行版以后可能会出现同样的问题。那是肯定的。因为它是预发布的我应该把代码放在哪里?对不起,我对asp.net MVC还很陌生。我是否也将其放在
RegisterBundles
函数下?将代码放在bundle之前的bundle顶部。add()不管怎样,它都能工作!谢谢!考虑到拉斐尔也被最小化了,我不认为会是这样。但是文件名是raphael-min.js
,所以我猜是破折号而不是圆点没有触发过滤器。非常感谢!文件命名不是我的问题……问题是我手动缩小了jquery和其他几个插件。让助手再做一次,同时打包,可能会弄乱一些东西。