【问题标题】:icons are not displaying in jqGrid if BundleTable.EnableOptimizations is set to True如果 BundleTable.EnableOptimizations 设置为 True,jqGrid 中不会显示图标
【发布时间】:2015-12-15 21:21:16
【问题描述】:
这是我的 ASP.NET Web 表单项目结构,
如果我设置BundleTable.EnableOptimizations = false;,那么图标在 jqGrid 中正确显示
如果我设置BundleTable.EnableOptimizations = true;,图标不会显示在 jqGrid 中。
预期:
即使我设置了BundleTable.EnableOptimizations = true;,图标也应该显示。
我最后错过了什么吗?任何建议表示赞赏。
【问题讨论】:
标签:
jquery
asp.net
jquery-ui
jqgrid
【解决方案1】:
原因可能在于需要更改的 URL。您没有发布足够详细的代码,这可以显示您的确切操作。我建议你首先阅读the post。
此外,我建议您考虑使用一些 CDN 源来加载 jQuery、jQuery UI 和 jqGrid 文件。第一次从 CDN 加载数据会足够快,稍后数据将大部分保存在 Web 浏览器的缓存中,因此不会加载更多。此外,大多数网站都将使用 jQuery 和 jQuery UI、Bootstrap 等,并且许多网站使用与您相同的 CDN。因此,在第一次加载文件时,jQuery 和 jQuery UI 已经在 Web 浏览器的缓存中 事件的可能性更高。结果,用户通常会在使用来自 CDN 的 URL 的情况下看到最佳性能。我个人认为应该只在捆绑包中包含您的自定义 JavaScript/CSS 文件,您可以更频繁地更改这些文件。
下一个版本的 ASP.NET 和 MVC(ASP.NET 5 和 MVC 6)建议首先使用 CDN 源,并使用本地 JavaScript 文件作为回退方案:
<script src="//ajax.aspnetcdn.com/ajax/jquery/jquery-2.1.4.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery">
</script>
见the article。
顺便说一句,the wiki article 描述了释放 jqGrid 的 URL。