捆绑正在工作但是从Asp.Net MVC 3迁移到MVC 4后,缩小功能无效

时间:2013-03-14 09:02:19

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-migration

当我从Asp.Net MVC 3迁移到MVC 4 时,除了缩小之外,Asp.Net MVC 4的一切正常。

问题

我的捆绑工作但缩小 正在工作。

捆绑代码

public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(
                new Bundle("~/Bundles/Entity").Include(
                "~/Scripts/Module/*.js"));
        }

它将脚本标记呈现如下:(这是真的很好!)

e.g。

 <script src="/Bundles/Entity?v=rXIO788liM9pg6AVW5wS7Fxv9LboBMZ5O4ajQRLgk7Y1"></script>

如果您看到上面的代码,它会生成捆绑脚本引用,这意味着捆绑工作正常, 但是当我点击查看内容时,JS内容不会缩小,这意味着缩小不起作用。

有人请让我知道问题出在哪里或者应该解决什么问题?

提前致谢!

1 个答案:

答案 0 :(得分:1)

请先确保您添加了以下脚本

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
 "~/Scripts/jquery-1.7.1.min.js",
 "~/Scripts/jquery.validate.min.js",
 "~/Scripts/jquery.validate.unobtrusive.min.js"));

并确保上面的bundle在BundleConfig类中定义,如下所示:

 public class BundleConfig
{
 public static void RegisterBundles(BundleCollection bundles)
 {


bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
 "~/Scripts/jquery-1.7.1.min.js",
 "~/Scripts/jquery.validate.min.js",
 "~/Scripts/jquery.validate.unobtrusive.min.js"));
 }
} 

“*”通配符用于组合同一目录中的文件,并且其名称具有相同的前缀或后缀。假设您要添加“〜/ Script”目录中存在的所有脚本文件并以“jquery”作为前缀,那么您可以创建如下所示的包:

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include("~/Scripts/jquery*.js"));

所有捆绑包都在您的Web应用程序的Global.asax文件的Application_Start事件中注册。

protected void Application_Start()
{
 BundleConfig.RegisterBundles(BundleTable.Bundles);
 // code
}