jquery - ASP.NET MVC SimpleMembership 登录因捆绑和缩小而失败

标签 jquery asp.net-mvc asp.net-mvc-4 bundling-and-minification

我正在使用最新的 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”来关闭捆绑和缩小生成,登录将按预期工作。

这些是我的 bundle :

            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 工具对此进行调试,因为它仅在部署后的产品系统上发生,并且仅在打开捆绑和缩小时才发生。

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

    <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>

最佳答案

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

如果您创建忽略列表并将 MVC 指定为您希望捆绑方法忽略的文件的扩展名,您仍然可以包含应用程序的 .min 文件。如需更多引用,请查看:

Bundler not including .min files

关于jquery - ASP.NET MVC SimpleMembership 登录因捆绑和缩小而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19036599/

相关文章:

javascript - 全局 JQuery 选择器缓存以提高性能

jquery - 更改 div 的背景图像对我不起作用

asp.net-mvc - 我是否应该为每个系统应用程序或每个环境提供应用程序洞察资源?

html - asp.net CSS 导航栏

c# - MVC4 中使用 SignalR 的提醒模型

javascript - 来回移动 div

javascript - 如何在移动设备上禁用脚本

javascript - 如何清除 MVC 应用程序中的浏览器缓存?

asp.net - 之前必须调用 "WebSecurity.InitializeDatabaseConnection"方法吗?

c# - Jquery datepicker选择的日期未分配值