MVC Bundle生成的css路径问题

  项目是嵌套在主站的一个子站点,结果用CssRewriteUrlTransform来将相对目录路径改成相对网站根目录路径的时候发现少了虚拟目录的路径。最终解决方案:

 /// <summary>
    /// 实现支持虚拟目录的路径转换
    /// </summary>
    public class CssRewriteUrlTransformWrapper : IItemTransform
    {
        public string Process(string includedVirtualPath, string input)
        {
            return new CssRewriteUrlTransform().Process("~" + VirtualPathUtility.ToAbsolute(includedVirtualPath), input);
        }
    }

  调用的方式:

   bundles.Add(new StyleBundle("~/Content/css").Include("~/media/css/default.css",
                      "~/media/css/uniform.default.css",
                      "~/Content/bootstrapValidator.css",
                      //"~/Content/icheckv2/skins/green.css",
                      "~/Scripts/sweetAlert2/sweetalert2.min.css",
                      ).Include("~/Content/icheckv2/skins/green.css",new CssRewriteUrlTransformWrapper())

                      );
            BundleTable.EnableOptimizations = true;// ConfigurationManager.AppSettings["Environment"]!="Dev";

  参考地址:CssRewriteUrlTransform with or without virtual directory

时间: 2024-10-11 01:51:03

MVC Bundle生成的css路径问题的相关文章

MVC中用 BundleCollection 压缩CSS时图片路径问题

MVC中有个专门提供JS和CSS压缩的类,BundleCollection,其实这个类也可以在asp.net中用, 关于BundleCollection类的详细推荐个地址:http://www.cnblogs.com/lifeil/archive/2013/03/11/2954071.html 我这里只是记录下使用过程中遇到的两个小问题 1.css被压缩后,里面图片路径文件的问题 我们可以看到MVC中 BundleConfig这个类里,都是自动生成的好多需要压缩的JS和CSS bundles.A

MVC bundle(包扎)CSS或是JS文件

以前写asp.net网页时,会在<head>节点中引用很多样式文件或是javascript文件,如下图左大括号的引用语句. 现在在MVC应用程序中,可以使用使用Bundle来捆一起, 在Solution Explorer窗口应用程序下,找到App_Start目录.在此目录下创建一个类,命名为“BundleConfig.cs” 并修改namespace: Insus.NET 上图中的#11行的蓝下划线的名称,将就是以View应用的名称.接下来,我们打开Global.asax.cs文件,分三步,第

mvc bundle功能(1)

现如今都提倡敏捷开发,快速开发,但是再要求速度的同时,还得保证质量!前端我是没办法,毕竟是直接要面向用户的,但是后台,解决方案那就多了,诸如extjs,bootstrap,kendoui,都可以解决.但是使用了这些第三方的东西,我们的后台是漂亮了,效果也炫了,新的问题就来了,大量的引用js.css. 这是我用bootstrap.kendoui搭的一个标准后台,代码非常简洁,但是引用了很多样式和js,加载完这个页面发送了又16个请求,耗时1.36s. 有没有一种方法可以把这些js和css合并起来并

Asp.net MVC Bundle 的使用与扩展

一.Asp.net 自带Bundle的使用: 1. 在Globale中注册与配置 BundleConfig.RegisterBundles(BundleTable.Bundles); public class BundleConfig { // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725 public static void RegisterBundles(Bundle

.Net MVC 动态生成LayUI tree

.Net MVC 动态生成LayUI tree 最近在做项目的过程中需要用到Tree插件,所以找了一堆Tree发现LayUI的Tree样式比较好看,所以开始搞! 1.Layui部分 1.1 首先引用文件是必不可少的:(依赖于Jquery) <link type="text/css" rel="Stylesheet" href="~/Content/js/plugins/layui-v2.5.4/layui-v2.5.4/layui/css/layui

ASP.NET MVC 文件上传和路径处理

ASP.NET MVC 文件上传和路径处理总结 目录 文件的上传和路径处理必须解决下面列出的实际问题: 1.重复文件处理 2.单独文件上传 3.编辑器中文件上传 4.处理文章中的图片路径 5.处理上传地址的变化 一.上传文件和重复文件处理 文件处理的原则是:不在数据库中保存文件,只在数据库中保存文件信息(Hash值等).采取文件的MD5重命名文件在一般情况足够处理文件的重复问题,强迫症倾向则可以考虑将MD5和其他摘要算法结合. public static string Save(HttpPost

MVC动态生成的表单:表单元素比较多 你就这样写

MVC动态生成的表单:表单元素比较多 你就这样写: public ActionResult ShoudaanActionResult(FormCollection from,T_UserM user) { List<string> daan = new List<string>(); for (int i = 4; i < from.Count; i++) { daan.Add(from[i].ToString()); } QSAcceptAnswer qaa = new Q

ASP.NET MVC Bundle 使用

基本使用 Global.asax protected void Application_Start() { BundleConfig.RegisterBundles(BundleTable.Bundles); } BundleConfig public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/bundles/jquery").Include( &quo

iis 发布asp.net mvc 网站时候js css 压缩问题,图片不加载问题

一.JS CSS 自动压缩问题 默认情况下mvc这个框架会把css,js文件压缩成一个js或者css文件,一会发现只有一个<link href="/Content/css?v=ji3nO1pdg6VLv3CVUWntxgZNf1zRciWDbm4YfW-y0RI1" rel="stylesheet"/>  和一个<script src="/bundles/modernizr?v=qVODBytEBVVePTNtSFXgRX0NCEjh9U