3

我正在使用 Visual Studio 2012 和 MVC 4,在我的 _Layout.cshtml 中,我有以下内容:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width" />
        @Styles.Render("~/Content/css")
        @Scripts.Render("~/bundles/jquery")
        @Scripts.Render("~/bundles/jqueryui")
        @Scripts.Render("~/bundles/jqgrid")

        @RenderSection("head", required: false)
    </head>
    <body>
        @RenderBody()

        @RenderSection("scripts", required: false)
    </body>
</html>

在 BundleConfig.cs 我有

public class BundleConfig
{
    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
            "~/Scripts/jquery-{version}.js"));

        bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
            "~/Scripts/jquery-ui-{version}.js"));

        bundles.Add(new ScriptBundle("~/bundles/jqgrid").Include(
            "~/Scripts/jquery.jqGrid.min.js"));
    }
}

我已经三重检查了,我的脚本文件夹确实包含 jquery.jqGrid.min.js,但它没有被包括在内。

我的 HTML 头看起来像:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <link href="/Viper/Content/css" rel="stylesheet"/>

    <script src="/Viper/Scripts/jquery-1.8.1.js"></script>

    <script src="/Viper/Scripts/jquery-ui-1.8.23.js"></script>

</head>

任何想法为什么不添加这个?

4

2 回答 2

7

debug=true 时的默认行为是忽略 *.min.js(这是我们正在寻找修复的问题)。

目前,最简单的做法是将文件重命名为 jquery.jqGrid.js

于 2012-09-17T20:05:39.123 回答
1

如果您从以下位置更改捆绑定义:

bundles.Add(new ScriptBundle("~/bundles/jqgrid").Include("~/Scripts/jquery.jqGrid.min.js"));

至:

bundles.Add(new ScriptBundle("~/bundles/jqgrid").Include("~/Scripts/jquery.jqGrid.*"));

它会像伤害一样起作用。

因此,出于调试目的,jquery.jqGrid.src.js 将在发布配置中运行应用程序期间加载 jquery.jqGrid.min.js。

于 2014-05-23T08:59:44.420 回答