宝哥软件园

ASP .NET MVC下捆的使用方法

编辑:宝哥软件园 来源:互联网 时间:2021-09-03

ASP .NET MVC中捆是用于打包捆绑资源的(一般是钢性铸铁和js),它是在全局文件Global.asax.cs中注册捆,而注册的具体实现默认是在应用程序_开始文件夹的BundleConfig.cs中

公共类手动音量调节应用:系统网络。HttpApplication { protected void Application _ Start(){区域注册.registerelaris();FilterConfig .RegisterGlobalFilters(全局筛选器。过滤器);路由图。注册路由(路由表。路线);BundleConfig .注册捆绑包(BundleTable .捆绑包);}}BundleConfig .注册捆绑包(BundleTable .捆绑包);在应用程序启用时注册捆

公共类BundleConfig{ //有关绑定的详细信息,请访问http://go.microsoft.com/fwlink/?LinkId=301862公共静态无效注册包(BundleCollection捆绑包){捆绑包.添加(新的脚本包(' ~/bundle/jquery ').包括(' ~/Scripts/jquery-{version}).js’);捆绑包。添加(新的脚本包(' ~/bundles/jqueryval ').包括(' ~/Scripts/jquery。验证* ');//使用要用于开发和学习的Modernizr的开发版本。然后,当你做好//生产准备时,请使用http://modernizr.com上的生成工具来仅选择所需的测试捆绑包。添加(新的脚本包(' ~/bundle/modernizr ').包括(' ~/Scripts/modernizr-*);捆绑包。添加(新的脚本包(' ~/bundle/bootstrap ').包括(' ~/Scripts/bootstrap.js ',' ~/Scripts/response。js’);捆绑包。添加(新的StyleBundle('~/Content/css ').包括(' ~/Content/bootstrap.css ',' ~/Content/site。CSS ');}}为了便于说明,这里在家庭控制器下新建一个行动,如下:

公共操作结果BundleTest(){ return View();}这里以使用引导程序为例,在视图中使用@ Styles .渲染()和@脚本。渲染()引入钢性铸铁和js,参数是在BundleConfig注册的名称

@ { Layout=null}!DOCTYPE html html head meta name=' viewport ' content=' width=device-width '/title bundle est/title @ style .渲染(' ~/内容/CSS ')/头体@脚本.render(' ~/bundle/jquery ',' ~/bundle/bootstrap ')/body/html浏览页面,查看源代码,可以看到:

捆绑包。添加(新的StyleBundle('~/Content/css ').包括(' ~/Content/bootstrap.css ',' ~/Content/site。CSS ');由于在BundleConfig.cs中注册上面的捆绑,@样式。渲染(' ~/内容/css ')渲染时是引入~/Content/bootstrap.css和~/Content/site.css,js的渲染同理为了验证是否真正引入了引导程序的钢性铸铁与射流研究…资源,这里添加了一些简单的引导程序示例代码,如下:

@ { Layout=null}!DOCTYPE html html head meta name=' viewport ' content=' width=device-width '/title bundle est/title @ style .render(' ~/Content/CSS ')/head body div class=' container ' div class=' header clear fix ' nav ul class=' nav-pits pull-right ' Li角色=' presentation ' class=' active ' a href=' # '首页/a/li li角色='演示文稿a href='# '关于我们/a/li li角色='演示文稿a href='# '联系我们/a/Li/ul/nav/div form class=' form-horizontal ' div class=' form-group '标签为=' username ' class=' col-sm-2控制标签'用户名/label div class='col-sm-10 '输入类型=' text ' class=' form-control ' id=' username '占位符='用户名/div/div class=' form-group '标签为=' password ' class=' col-sm-2控件-label '密码/label div class='col-sm-10 '输入类型=' password ' class=' form-control ' id=' password '占位符='密码/div/div class=' form-group '标签为=' code ' class=' col-sm-2控制标签验证码/label div class='col-sm-10 '输入类型=' text ' class=' form-control ' id=' code '占位符='验证码/div/div class=' form-group ' div class=' col-sm-offset-2 col-sm-10 ' div class=' checkbox '标签输入类型='复选框'记住我/label/div/div/div class=' form-group ' div class=' col-sm-offset-2 col-sm-10 '按钮类型='submit' class='btn btn-default '登录/button/div/div/form footer class=' footer ' p 2017钟/p/页脚/div! -/容器-@脚本. render(' ~/bundle/jquery ',' ~/bundle/bootstrap ')/body/html前台浏览看效果(当浏览器足够大时是横向平铺的,如果将浏览器缩小,则是垂直平铺,示例中的表单部分最能体现出来):

改进

上面的捆是引入了未压缩的钢性铸铁和射流研究…资源,但在实际应用中,出于为了减轻服务器负载等原因,需要引入压缩版的资源(一般是在未压缩的命名后面加上部来命名,如jquery.js的压缩版【有些叫法是精简版】是jquery.min.js)于是修改BundleConfig.cs

重新编译,再次浏览刚才的页面,这时发现引入了压缩版的资源(css/js)

注:由于示例时使用了ASP . NET MVC 5(2010年.网框架4.5),而在网络.框架四中的ASP。NET MVC 4可能会有下面的情况:

在页面查看源代码时发现脚本缺少引入~/Scripts/bootstrap.min.js,这是ASP。NET MVC 4使用的系统网络。Optimization.dll默认使用了忽略规则*.min.js,这时可以在BundleConfig.cs的RegisterBundles中清除忽略规则

该解决方法一是通过反编译系统网络。Optimization.dll并结合反编译的代码得出来的,另外也可以参考这个链接

另外就是在部署生产环境时发现无效,因为生产环境不再是调试模式,此时需要设置:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

更多资讯
游戏推荐
更多+