3

我正在使用最新的 Chrome 浏览器,ASP.NET MVC 4,"jQuery" 版本="2.0.3","jQuery.Validation" 版本="1.11.1",Microsoft.jQuery.Unobtrusive.Ajax" 版本="2.0。 30506.0" 和 Microsoft.jQuery.Unobtrusive.Validation" 版本="2.0.30506.0"。

我的调试和测试系统(捆绑和缩小)工作正常。在我的生产系统上,即使记住了用户名和密码,并且已经在编辑框中,登录总是无法通过客户端验证(需要用户名和密码),除非我再次选中记住我的框,或者完全替换用户名和密码。如果我通过在 global.asx.cs 文件中设置“BundleTable.EnableOptimizations = false”来关闭捆绑和缩小生产,登录会按预期工作。

这些是我的捆绑包:

            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                    "~/Scripts/modernizr-*"));

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

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

这就是我在“head”部分的末尾与其他脚本一起引用它们的方式:

        @Scripts.Render("~/bundles/modernizr")
    @Scripts.Render("~/bundles/jquery", "~/bundles/jqueryval")

我不知道如何使用 Chrome F12 工具进行调试,因为它仅在部署后在 prod 系统上发生并且仅在打开捆绑和缩小时发生。

如果我将脚本添加到如下“正文”的末尾以及“正文”之后,并且在这两种情况下,我都会得到一个完全空白的页面,尽管它似乎拥有所有源代码。

    <body class="Body">
    @RenderBody()

    @* load scripts last *@

    @* bring in script bundles *@
    @Scripts.Render("~/bundles/modernizr")
    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/jqueryval")
    @Scripts.Render("~/bundles/SignalR")

    <!--Reference the autogenerated SignalR hub script. -->
    <script src="~/signalr/hubs"></script>

    @Html.DevExpress().GetScripts(
    new Script { ExtensionSuite = ExtensionSuite.NavigationAndLayout },
    new Script { ExtensionSuite = ExtensionSuite.HtmlEditor },
    new Script { ExtensionSuite = ExtensionSuite.GridView },
    new Script { ExtensionSuite = ExtensionSuite.PivotGrid },
    new Script { ExtensionSuite = ExtensionSuite.Editors },
    new Script { ExtensionSuite = ExtensionSuite.Chart },
    new Script { ExtensionSuite = ExtensionSuite.Report },
    new Script { ExtensionSuite = ExtensionSuite.Scheduler },
    new Script { ExtensionSuite = ExtensionSuite.TreeList }
    )

    @* user scripts *@
    @RenderSection("scripts", required: false)
</body>
4

1 回答 1

1

检查您是否捆绑了任何 .min 脚本(您无法缩小文件的缩小版本)。

如果您创建一个忽略列表并指定 MVC 您希望捆绑方法忽略的文件的扩展名,您仍然可以包含应用程序的 .min 文件。有关更多参考,请检查:

Bundler 不包括 .min 文件

于 2013-12-19T20:30:21.423 回答