MVC ScriptBundle自定义排序。
今天发现MVC的ScriptBundle @Scripts.Render()后是按照我也不知道顺序显示在页面上的,后果就是jquery.min.js被排在了后面(反正我下面那堆默认jquery.min.js在第三个)导致javascript报错,所以很多情况不能自动按照首字母排序。
解决方法如下:
先新建一个类:
internal class AsIsBundleOrderer : IBundleOrderer
{
public virtual IEnumerable<BundleFile> OrderFiles(BundleContext context, IEnumerable<BundleFile> files)
{
return files;
}
}
之后绑定的时候这样绑定:
ScriptBundle mandatoryJs = new ScriptBundle("~/Metronic/mandatoryJs");
mandatoryJs.Orderer = new AsIsBundleOrderer();
mandatoryJs.Include(
"~/plugins/Metronic/global/plugins/jquery.min.js",
"~/plugins/Metronic/global/plugins/jquery-migrate.min.js",
"~/plugins/Metronic/global/plugins/jquery-ui/jquery-ui.min.js",
"~/plugins/Metronic/global/plugins/bootstrap/js/bootstrap.min.js",
"~/plugins/Metronic/global/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js",
"~/plugins/Metronic/global/plugins/jquery-slimscroll/jquery.slimscroll.min.js",
"~/plugins/Metronic/global/plugins/jquery.blockui.min.js",
"~/plugins/Metronic/global/plugins/jquery.cokie.min.js",
"~/plugins/Metronic/global/plugins/uniform/jquery.uniform.min.js",
"~/plugins/Metronic/global/plugins/bootstrap-switch/js/bootstrap-switch.min.js"
);
bundles.Add(mandatoryJs);
就好了。
最后还可以再简化下:
bundles.Add(new ScriptBundle("~/Metronic/mandatoryJs") { Orderer = new AsIsBundleOrderer() }.Include(
"~/plugins/Metronic/global/plugins/jquery.min.js",
"~/plugins/Metronic/global/plugins/jquery-migrate.min.js",
"~/plugins/Metronic/global/plugins/jquery-ui/jquery-ui.min.js",
"~/plugins/Metronic/global/plugins/bootstrap/js/bootstrap.min.js",
"~/plugins/Metronic/global/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js",
"~/plugins/Metronic/global/plugins/jquery-slimscroll/jquery.slimscroll.min.js",
"~/plugins/Metronic/global/plugins/jquery.blockui.min.js",
"~/plugins/Metronic/global/plugins/jquery.cokie.min.js",
"~/plugins/Metronic/global/plugins/uniform/jquery.uniform.min.js",
"~/plugins/Metronic/global/plugins/bootstrap-switch/js/bootstrap-switch.min.js"
));
看起来就和一开始比较像了。
MVC ScriptBundle自定义排序。的更多相关文章
- Java集合框架实现自定义排序
Java集合框架针对不同的数据结构提供了多种排序的方法,虽然很多时候我们可以自己实现排序,比如数组等,但是灵活的使用JDK提供的排序方法,可以提高开发效率,而且通常JDK的实现要比自己造的轮子性能更优 ...
- DataTable自定义排序
使用JQ DataTable 的时候,希望某列数据可以进行自定义排序,操作如下:(以中文排序和百分比排序为例) 1:定义排序类型: //百分率排序 jQuery.fn.dataTableExt.oSo ...
- 干货之UICollectionViewFlowLayout自定义排序和拖拽手势
使用UICollectionView,需要使用UICollectionViewLayout控制UICollectionViewCell布局,虽然UICollectionViewLayout提供了高度自 ...
- DataGridView 绑定List集合后实现自定义排序
这里只贴主要代码,dataList是已添加数据的全局变量,绑定数据源 datagridview1.DataSource = dataList,以下是核心代码. 实现点击列表头实现自定义排序 priva ...
- 【转】c++中Vector等STL容器的自定义排序
如果要自己定义STL容器的元素类最好满足STL容器对元素的要求 必须要求: 1.Copy构造函数 2.赋值=操作符 3.能够销毁对象的析构函数 另外: 1. ...
- mysql如何用order by 自定义排序
mysql如何用order by 自定义排序 id name roleId aaa bbb ccc ddd eee ,MySQL可以通过field()函数自定义排序,格式:field(value,st ...
- python 自定义排序函数
自定义排序函数 Python内置的 sorted()函数可对list进行排序: >>>sorted([36, 5, 12, 9, 21]) [5, 9, 12, 21, 36] 但 ...
- 定制对ArrayList的sort方法的自定义排序
java中的ArrayList需要通过collections类的sort方法来进行排序 如果想自定义排序方式则需要有类来实现Comparator接口并重写compare方法 调用sort方法时将Arr ...
- Qt之QHeaderView自定义排序(获取正确的QModelIndex)
简述 前几节中分享过关于自定义排序的功能,貌似我们之前的内容已经可以很好地解决排序问题了,但是,会由此引发一些很难发现的问题...比如:获取QModelIndex索引错误. 下面,我们先来实现一个整行 ...
随机推荐
- goroutine 知识点
goroutine: 协程是用户态的轻量级线程: 协程之间,通过消息传递进行通信(大多数语言通过共享内存进行通信) select 使用的场景: 正常处理业务的 routine 退出(超时.不满足某条件 ...
- Python中第三方的用于解析HTML的库:BeautifulSoup
背景 在Python去写爬虫,网页解析等过程中,比如: 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站 常常需要涉及到HTML等网页的解析. 当然,对于简单的HTML中内 ...
- cannal&otter源码解析
一点引用资料的整理 http://www.tianshouzhi.com/api/tutorials/canal/381 canal 同步工具 https://github.com/alibaba/c ...
- django template模板 母板 include导入
一,使用{% block name %}{% endblock %}定义一个模板,在模板页面中它的内容为空,在各页面用{% block name %}自己的标签内容{% endblock %}调用. ...
- 移动端css水平垂直居中
水平垂直居中 1.margin 负值调整偏移实现 兼容性: 当前流行的使用方法. <div class="box"> <div class="conte ...
- ionic3使用@angular/http 访问nodejs(koa2框架)服务不能返回数据
cordova的http插件不能使用在browser上,所以当需要在browser上浏览时,需要使用@angular/http 里的方法来访问nodejs服务. 如果出现服务端能够接收请求并相应,而客 ...
- Optaplanner终于支持多线程并行运行 - Multithreaded incremental solving
Optaplanner 7.9.0.Final之前,启动引擎开始对一个Problem进行规划的时候,只能是单线程进行的.也就是说,当引擎对每一个possible solution进行分数计算的过程中, ...
- leetcode70 爬楼梯 Python
组合数学Fibonacci 例3.4.1 (上楼梯问题)某人欲登上n级楼梯,若每次只能跨一级或两级,问他从地面上到第n级楼梯,共有多少种不同的方法? (解)设上到第n级楼梯的方法数为an.分类统计 ...
- [转]Github 下载指定文件夹
来自:https://blog.csdn.net/qq_35860352/article/details/80313078 操作步骤 step1:转换链接地址 点开”/examples”子文件,复制浏 ...
- CefSharp 与 js 相互调用
https://blog.csdn.net/gong_hui2000/article/details/48155547