关于MVC4.0中@Styles.Render用法与详解

本文分享于http://keleyi.com/a/bjac/q74dybjc.htm文章,感觉写的蛮好所以就拿过来做笔记了,希望对大家有帮助

最近公司的新项目用了MVC 4.0,接下来一步步把 工作中遇到的问题 总结起来..

1.@Styles.Render

在页面上可以用@Styles.Render("~/Content/css") 来加载css

首先要在App_Start 里面BundleConfig.cs 文件里面 添加要包含的css文件

BundleConfig就是一个微软新加的 一个打包的配置类

用来Add 各种Bundle

bundles.Add(new StyleBundle("~/Content").Include("~/Content/common.css")); //这样是错误的 new StyleBundle("~/Content") 初始化的虚拟目录名称不能跟 真正的目录相同 也就是 后面的Include("~/Content/common.css")); 这里要把new StyleBundle("~/Content")的"~/Content" 改成别的名称。

bundles.Add(new StyleBundle("~/Content1").Include("~/Content/common.css", "~/Content/content.css"));
bundles.Add(new StyleBundle("~/Content2").Include("~/Content/site.css" ));
这里的"~/Content1" 可以随便起名(但一定要按这个URL格式来) 用于标记打包哪个文件夹下面的.css 文件,后面的Include方法接受的是一个string[] 根据传入的路径去对css文件进行打包

然后前面页面用@Styles.Render("~/Content1”,"~/Content2”) 来调用显示。

bundles.Add(new StyleBundle("~/Content1").Include("~/Content/content.css"));
bundles.Add(new StyleBundle("~/Content1").Include("~/Content/site.css"));
bundles.Add(new StyleBundle("~/Content1").Include("~/Content/common.css"));
这种情况添加相同的Key时 程序会调用最后一次添加的~/Content/common.css。

当然也可以直接在页面上来加载比如:

(2).@Styles.Render("~/Content/site.css", "~/Content/common.css", "~/Content/content.css")

或者 第一种方式+第二种方式组合来加载 比如:

BundleConfig里面添加了一个

bundles.Add(new StyleBundle("~/Content1").Include("~/Content/common.css"));

组合调用 :@Styles.Render("~/Content1", "~/Content/site.css", "~/Content/content.css")

这时候页面上会加载3个css文件

但是 如果BundleConfig里面这样

bundles.Add(new StyleBundle("~/Content1").Include("~/Content/common.css","~/Content/content.css"));

页面上这样写:@Styles.Render("~/Content1", "~/Content/site.css", "~/Content/content.css")

看到没这个"~/Content/content.css"重复了, 2边都引用了.. 这时候 程序不会再执行页面上引用的css

注意:使用Bundle来引用css有个好处 就是可以把多个css文件在一起请求,浏览器只发一次请求 不过必须在Global.asax里面 加一段代码 BundleTable.EnableOptimizations = true;

来启用优化,看最终结果



而且 当页面下次再次发送请求的时候 BundleConfig里面没有更改的话 浏览器会从缓存中去取 ,这一点大大提高了性能 ...



304 Not Modified 表示数据无变化没更新 下面32.3kb来自缓存

转载于:https://www.cnblogs.com/xiaowufile/p/4524558.html

在HTML文件中引入`@Scripts.Render`和`@Styles.Render`指令是为了在ASP.NET MVC项目中合并和管理JavaScript和CSS文件,以便优化页面加载性能。这两个指令是MVC4及更高版本的布局(_Layout.cshtml或其他视图共享部分)中常用的辅助方法。 `@Scripts.Render("~/bundles/vue")` 这行代码表示将位于`~/Views/Bundles/vue.js`(或者指定的路径)的脚本资源(可能是Vue.js库)合并并插入到当前页面中。 `@Scripts.Render("~/bundles/element")` 同样,它会合并并引用名为"element"的bundle(假设这个bundle包含Element UI等前端组件相关的JS文件)。 `@Styles.Render("~/Content/elementcss")` 则是用于CSS文件,它会查找`~/Content/elementcss`目录下的所有.css文件,并将其链接添加到页面头部。 要在HTML中实际应用它们,你需要在对应的布局文件顶部包含`@RenderSection("scripts", required: false)` 和 `@RenderSection("styles", required: false)`,然后在需要的地方使用`@section scripts{...}` 和 `@section styles{...}` 来编写内容,如: ```html <head> <meta charset="utf-8"> @Styles.Render("~/Content/css") </head> <body> <!-- 其他内容 --> @RenderBody() @* 将要插入脚本的部分 *@ @section scripts{ @Scripts.Render("~/bundles/main") } </body> ``` 这样,当你在其他视图中引用`@Styles.Render`和`@Scripts.Render`时,它们的内容会被自动合并并按需加载。记得替换示例中的路径和bundle名称以适应你的项目结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值