在MVC5的视图中使用@Scritps.Render(),@Styles.Render() 分别可以加载样式和脚本。捆绑的和实际的路径都可以。

并且可以利用 编程的方式灵活引用css文件和脚本文件。

一、Layout页面头部会使用

@Styles.Render("~/Content/css") 来加载css文件,非实际文件路径。  相当于 <link href="css.css" rel="stylesheet" type="text/css" />
@Scripts.Render("~/bundles/modernizr") 来加载modernizr脚本,非实际文件路径。<script src="modernizr.js" type="text/javascript"> </script>

二、Layout布局页面底部会使用。把一些脚本 文件放在页面底部 提高页面加载速度 。

@Scripts.Render("~/bundles/jquery")    来加载捆绑的脚本,非实际文件路径。  先引入jquery 脚本,再引入bootstrap脚本。因为boostrap要依赖于jquery.

@Scripts.Render("~/bundles/bootstrap") 来加载捆绑的脚本。非实际文件路径。
@RenderSection("scripts", required: false)来加载捆绑的脚本。非实际文件路径。

如果是新建和编辑页面,页面的底部会使用:
 @Scripts.Render("~/bundles/jqueryval",)非实际文件路径。 提供客户端的jquery验证。

如果使用百度UEditor,在新建页面和编辑页面

@section Scripts {
@Scripts.Render("~/bundles/jqueryval","~/Content/ueditor/ueditor.config.js","~/Content/ueditor/ueditor.all.js") 加载实际的脚本文件路径。并且可以一个@Scripts.Render可以加载多个脚本。

<script type="text/javascript">
var editor = new baidu.editor.ui.Editor({
UEDITOR_HOME_URL:'/Content/ueditor/',//配置编辑器路径
iframeCssUrl:'/Content/ueditor/themes/iframe.css',//样式路径
// initialContent:'欢迎使用ueditor',//初始化编辑器内容
autoHeightEnabled:true,//高度自动增长
initialFrameHeight:400
});
editor.render('Content');
</script>

APP_Start中有一个配置捆绑的文件BundleConfig.cs,

public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(       //new ScriptBundle().include() 将实际的文件路径转换为虚拟的绑定路径。
"~/Scripts/jquery-{version}.js"));  //引入占位符, 可以隔离jqeury版本的变更。

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*")); 可在使用通配符 *,可以隔离jqeury版本的变更

bundles.Add(new StyleBundle("~/Content/css").Include(    //如果在同一个捆绑中有多个CSS文件,最后面的一项优先级最高。
"~/Content/bootstrap.css",
"~/Content/bootstrap.custom.css",  //定制的bootstap文件,可以覆盖掉原生bootstrap定义的一些class的样式。这种是非侵入式的方式。
"~/Content/site.css"));  //网站自定义的css,优先级最高。

比如:在新建一个样式表文件bootstrap.custom.css,新建一些class属性,

.badge-danger {
background-color:#d43f3a;
}

.badge-warning{
background-color:#d58512;
}

.badge-success{
background-color:#398439;
}

.badge-info{
background-color:#269abc;
}

.badge-inverse{
background-color:#333333;
}

<a href="@Url.Action("List", new { categoryID = category.CategoryID})" class="list-group-item @categoryCss">@category.CategoryName <span class="badge badge-info">@category.ArticleCount</span></a>

原来徽章badge的背景色为灰色,如果引用了badge-info,徽章的背景色就变成了蓝色了。

如果需要多个绑定,还可使用遍历的方式:

asp.net MVC5 中的捆绑和更改bootstap默认的样式的更多相关文章

  1. asp.net mvc5中使用缓存依赖SqlCacheDependency

    缓存是用来提高应用性能,降低服务器压力.适用于数据不易变,数据易通用的情景, 对于动态查询数据,例如数据分析,最好放弃使用缓存.使用缓存最麻烦的就是保持源数据和缓存的中的数据一致. 缓存(Cache) ...

  2. ASP.NET MVC5中的数据注解

    ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...

  3. asp.net mvc5中的过滤器重写

    asp.net mvc5中增加了一种过滤器类型叫过滤器重写,这种过滤器类型可以在操作或者控制器上忽略更高层次上设置的过滤器类型,它可以重写五种基本的过滤器接口类型:IAuthenticationFil ...

  4. ASP.NET MVC5中的数据注解(转载)

    ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...

  5. ASP.NET MVC中的捆绑和压缩技术

    概述 在众多Web性能优化的建议中有两条: 减少Http请求数量:大多数的浏览器同时处理向网站处理6个请求(参见下图),多余的请求会被浏览器要求排队等待,如果我们减少这些请求数,其他的请求等待的时间将 ...

  6. 在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView

    背景 在前一篇文章<[初学者指南]在ASP.NET MVC 5中创建GridView>中,我们学习了如何在 ASP.NET MVC 中实现 GridView,类似于 ASP.NET web ...

  7. [转]在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView

    本文转自:http://www.cnblogs.com/powertoolsteam/p/MVC5_GridView_2.html 背景 在前一篇文章<[初学者指南]在ASP.NET MVC 5 ...

  8. 译:在ASP.NET MVC5中如何使用Apache log4net 类库来记录日志

    译文出处:http://www.codeproject.com/Articles/823247/How-to-use-Apache-log-net-library-with-ASP-NET-MVC 在 ...

  9. Asp.net MVC5中Html.DropDownList的使用

    一.静态下拉列表项的绑定 在下拉列表中绑定静态项,我们可以通过 SelectListItem 的集合作为数据源的下拉列表. @Html.DropDownList("dropRoles&quo ...

随机推荐

  1. 应对ADT(Eclipse)的No more handles解决办法

    应对ADT(Eclipse)的No more handles解决方法 ADT(Eclipse)最近几天经常出现如下错误对话框:org.eclipse.swt.SWTError: No more han ...

  2. @JoinColumn 匹配关联多个字段

    两张表结构如下 TABLE_A: ID, COLA1, COLA2 TABLE_B: ID, A_ID, COLB1, COLB2 A和B是一对多的关系. 我在B的BEAN上面,通过Anotation ...

  3. Linux下出现launch failed.Binary not found的解决方案

    Linux下出现launch failed.Binary not found的解决方案: Project->Properties->C/C++Build->Settings-> ...

  4. linux shell if语句使用方法 [转载]

    最精简的 if 命令的语法是: if TEST-COMMANDS; then CONSEQUENT-COMMANDS; fi TEST-COMMAND 执行后且它的返回状态是0,那么 CONSEQUE ...

  5. 免费第三方API平台整合

    各大平台免费接口,非常适用 http://developer.51cto.com/art/201412/458778.htm 绝对干货:供个人开发者赚钱免费使用的一些好的API接口http://www ...

  6. springboot整合mybatis,freemarker

    springboot 整合mybaits,,freemarker pom.xml文件 <?xml version="1.0" encoding="UTF-8&quo ...

  7. 转 从头到尾彻底解析Hash表算法

    出处:http://blog.csdn.net/v_JULY_v.   说明:本文分为三部分内容,     第一部分为一道百度面试题Top K算法的详解:第二部分为关于Hash表算法的详细阐述:第三部 ...

  8. VM Workstation的Unity Mode有什么用

    正常情况下,如果我启动了一个VM Workstaion的虚拟机,比如是一个Linux系统,并且没运行任何软件,进入Unity mode之后,我真实系统的左下角会有一个虚拟机的图标 点击这个图标可以打开 ...

  9. OpenCV图像处理篇之图像平滑

    图像平滑算法 图像平滑与图像模糊是同一概念,主要用于图像的去噪.平滑要使用滤波器.为不改变图像的相位信息,一般使用线性滤波器,其统一形式例如以下: %20\Large%20g(i,j)=\sum_{k ...

  10. 安装PyQt5和Eric6

    安装官方的指引,安装起来本来是非常简单的,但是我前后折腾了两天,甚至连Eric得源码都去调试都没成功.过程如下: 在PyQt5的官网链接中下载轮子 PyQt5-5.7.1-5.7.1-cp34.cp3 ...