Asp.net mvc 发布时Jquery数据表的样式出现问题(可能是绑定问题)

Asp.net mvc 发布时Jquery数据表的样式出现问题(可能是绑定问题),asp.net-mvc,css,datatables,jquery-datatables,bundling-and-minification,Asp.net Mvc,Css,Datatables,Jquery Datatables,Bundling And Minification,当我试图将我的ASP.net MVC web应用发布到我的测试服务器IIS时,我遇到了一些奇怪的问题。我已经决定这可能与捆绑有关。在我的应用程序中,我使用jquery数据表向用户显示数据库中的实时数据。当我通过vs2013调试器启动应用程序时,应用程序看起来运行良好。但是,当我发布到测试服务器的IIS时,datatable的样式似乎消失了(表功能似乎仍在工作) 我补充说: BundleTable.EnableOptimizations = true; 并像这样更改了web.config <

当我试图将我的ASP.net MVC web应用发布到我的测试服务器IIS时,我遇到了一些奇怪的问题。我已经决定这可能与捆绑有关。在我的应用程序中,我使用jquery数据表向用户显示数据库中的实时数据。当我通过vs2013调试器启动应用程序时,应用程序看起来运行良好。但是,当我发布到测试服务器的IIS时,datatable的样式似乎消失了(表功能似乎仍在工作)

我补充说:

BundleTable.EnableOptimizations = true;
并像这样更改了web.config

<compilation debug="false" targetFramework="4.5" />
这里是我在_布局中呈现datatable脚本的地方

@Scripts.Render("~/bundles/CustomJqueryBundle", "~/bundles/bootstrap", "~/bundles/CustomJqueryDataTable_Scripts")
@Styles.Render("~/bundles/CustomJqueryDataTable_Styles")
@RenderSection("scripts", required: false)
还值得注意的是,mvc默认样式似乎仍然正常工作

通过调试器(将BundleTable.EnableOptimizations=true注释掉)

发布时(或通过带有BundleTable.EnableOptimizations=true的调试器未注释掉)

我还尝试执行以下操作,而不是使用scripts.render,应用程序使用样式发布,证明这是一个捆绑问题:

<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="~/Scripts/bootstrap.js"></script>
<script src="~/Scripts/respond.js"></script>
<script src="~/Content/DataTables-1.10.5/DataTables-1.10.5/media/js/jquery.dataTables.js"></script>
<link href="~/Content/DataTables-1.10.5/DataTables-1.10.5/media/css/jquery.dataTables.css" rel="stylesheet" />
<link href="~/Content/DataTables-1.10.5/DataTables-1.10.5/extensions/Responsive/css/dataTables.responsive.css" rel="stylesheet" />
<script src="~/Content/DataTables-1.10.5/DataTables-1.10.5/extensions/Responsive/js/dataTables.responsive.js"></script>


@RenderSection("scripts", required: false)

@RenderSection(“脚本”,必需:false)

您已将CSS捆绑为JS脚本(脚本捆绑)而不是CSS(样式捆绑)-您需要:

 bundles.Add(new StyleBundle("~/bundles/CustomJqueryDataTable_Styles").Include(
                "~/Content/DataTables-1.10.5/DataTables-1.10.5/media/css/jquery.dataTables.css",
                "~/Content/DataTables-1.10.5/DataTables-1.10.5/extensions/Responsive/css/dataTables.responsive.css"));

因此,在优化过程中,它将被视为CSS脚本,而不是JS脚本

哦,天哪,我很尴尬,但非常感谢您捕捉到这一点。我开始发疯了。
 bundles.Add(new StyleBundle("~/bundles/CustomJqueryDataTable_Styles").Include(
                "~/Content/DataTables-1.10.5/DataTables-1.10.5/media/css/jquery.dataTables.css",
                "~/Content/DataTables-1.10.5/DataTables-1.10.5/extensions/Responsive/css/dataTables.responsive.css"));