mvc 发布网站后, CSS样式失效.....求大神

Pc498471249 2014-04-17 02:46:23
我使用mvc提供的Bundle打包类功能对CSS样式和JS文件进行打包
在VS里运行时一切正常
发布到IIS后,CSS的引用变成了随机码,但是CSS的效果却没有呈现出来。 样式失效了
改成Url.Content("~/xxxx")的方式 ,样式才恢复正常
为什么使用打包类会造成CSS失效?

在页面上我是这么引用的

Styles.Render("~/Content")


服务器环境:win2008
IIS版本:IIS7

求大神为小弟指点迷津
...全文
2484 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunmil 2016-05-19
  • 打赏
  • 举报
回复
问题就像#3所说,是因为bundle机制在compilation debug="false"时会生效,而这时如果你制定的css的虚拟地址跟原来你css放置的路径不一致,那就会因为css中的图片因为相对地址找不到而出现问题。 解决方案也很简单。 一是创建bundle虚拟路经的时候,还指向css原来所在的路径,这样相对保持不变,自然没有问题。 二是在创建bundle的时候,让其把相对路径转换为绝对路径。上代码 public class CssRewriteUrlTransformWrapper : IItemTransform { public string Process(string includedVirtualPath, string input) { return new CssRewriteUrlTransform().Process("~" + VirtualPathUtility.ToAbsolute(includedVirtualPath), input); } } 然后再Bundle使用的时候这样: bundles.Add(new StyleBundle("~/backendcss").Include( "~/Content/bootstrap.min.css").Include( "~/Content/font-awesome.min.css", new CssRewriteUrlTransformWrapper())); 最后,解决方案来源http://gaojianzhuang110.blog.163.com/blog/static/186131462014512102939863/
离乡不肖生 2016-04-21
  • 打赏
  • 举报
回复 1
一、web.config中 <compilation debug="false" targetFramework="4.5" />//更改为false 二、BundleTable.EnableOptimizations = false;//添加一下 本人试用,发布后样式文件都被正常引用 但这种解决方法是否合适不知道,这样是不是样式和脚本没有被压缩呢,从性能上是不是有影响呢,还希望高手们更进一步解释
哋岼線 2016-01-19
  • 打赏
  • 举报
回复
引用 17 楼 hanjun1213 的回复:
[quote=引用 3 楼 zhengwei804 的回复:] 默认本地vs里面调试的时候,因为web.config文件里面有一个debug属性,当有此属性时,默认css和js是不会压缩的,此时加载的js也是不支持.min.js这种的,加载的都是不带min的js文件! 而当发布到iis后,web.config里面没有debug属性了,此时css和js是会自动启用压缩功能,压缩后的css里面若没有指定图片相对于网站的根目录的路径的话,图片也是没办法正常显示的,js此时也会只加载有.min的文件
正解啊,感谢[/quote] 说的是对的额,但是没讲解决方法
灰白色可乐 2015-12-09
  • 打赏
  • 举报
回复
看看CSS文件所在的文件夹是不是包含在了项目里,如果没有,打包发布时是没有CSS所在文件夹的。
点上一支红梅 2015-08-12
  • 打赏
  • 举报
回复
各位,你们最后到底是怎么解决的?
咚咚咚的冬天 2015-08-11
  • 打赏
  • 举报
回复
楼主最后怎么解决的??!!
hanjun1213 2015-07-27
  • 打赏
  • 举报
回复
引用 3 楼 zhengwei804 的回复:
默认本地vs里面调试的时候,因为web.config文件里面有一个debug属性,当有此属性时,默认css和js是不会压缩的,此时加载的js也是不支持.min.js这种的,加载的都是不带min的js文件! 而当发布到iis后,web.config里面没有debug属性了,此时css和js是会自动启用压缩功能,压缩后的css里面若没有指定图片相对于网站的根目录的路径的话,图片也是没办法正常显示的,js此时也会只加载有.min的文件
正解啊,感谢
CocSea 2015-05-21
  • 打赏
  • 举报
回复
同问,网站发布出来CSS效果全部失效!
小蚂蚁工作室 2014-12-29
  • 打赏
  • 举报
回复
引用 12 楼 xuzheng101361 的回复:
把项目下的css、js包 复制一份 放到你的发布包中 就可以解决了 。
这个不管用
小蚂蚁工作室 2014-12-29
  • 打赏
  • 举报
回复
正在为这个事情头疼!求大神啊
小蚂蚁工作室 2014-12-29
  • 打赏
  • 举报
回复
不管用,好不好
小子哟 2014-05-04
  • 打赏
  • 举报
回复
把项目下的css、js包 复制一份 放到你的发布包中 就可以解决了 。
lrzw32 2014-05-04
  • 打赏
  • 举报
回复
也遇到这个问题的,lz怎么解决的
情傷 2014-04-19
  • 打赏
  • 举报
回复
你F12查看网络加载 1、css加载的里面是否有内容 2、js加载的是否有内容 我之前有试过,发布之后,默认加载的js都是.min.js这种的才行的
Pc498471249 2014-04-18
  • 打赏
  • 举报
回复
情傷 2014-04-18
  • 打赏
  • 举报
回复
你绑定怎么写的?
Pc498471249 2014-04-18
  • 打赏
  • 举报
回复
访问不到源码, 是空的
Pc498471249 2014-04-18
  • 打赏
  • 举报
回复
引用 5 楼 zhengwei804 的回复:
[quote=引用 4 楼 Pc498471249 的回复:] [quote=引用 3 楼 zhengwei804 的回复:] 默认本地vs里面调试的时候,因为web.config文件里面有一个debug属性,当有此属性时,默认css和js是不会压缩的,此时加载的js也是不支持.min.js这种的,加载的都是不带min的js文件! 而当发布到iis后,web.config里面没有debug属性了,此时css和js是会自动启用压缩功能,压缩后的css里面若没有指定图片相对于网站的根目录的路径的话,图片也是没办法正常显示的,js此时也会只加载有.min的文件
我是整个css引用都失效了。 [/quote] 右击查看源码的时候,有css的链接出来不?有的话,点击能访问到源码不?[/quote] 不能
情傷 2014-04-18
  • 打赏
  • 举报
回复
引用 4 楼 Pc498471249 的回复:
[quote=引用 3 楼 zhengwei804 的回复:] 默认本地vs里面调试的时候,因为web.config文件里面有一个debug属性,当有此属性时,默认css和js是不会压缩的,此时加载的js也是不支持.min.js这种的,加载的都是不带min的js文件! 而当发布到iis后,web.config里面没有debug属性了,此时css和js是会自动启用压缩功能,压缩后的css里面若没有指定图片相对于网站的根目录的路径的话,图片也是没办法正常显示的,js此时也会只加载有.min的文件
我是整个css引用都失效了。 [/quote] 右击查看源码的时候,有css的链接出来不?有的话,点击能访问到源码不?
Pc498471249 2014-04-18
  • 打赏
  • 举报
回复
引用 3 楼 zhengwei804 的回复:
默认本地vs里面调试的时候,因为web.config文件里面有一个debug属性,当有此属性时,默认css和js是不会压缩的,此时加载的js也是不支持.min.js这种的,加载的都是不带min的js文件! 而当发布到iis后,web.config里面没有debug属性了,此时css和js是会自动启用压缩功能,压缩后的css里面若没有指定图片相对于网站的根目录的路径的话,图片也是没办法正常显示的,js此时也会只加载有.min的文件
我是整个css引用都失效了。
加载更多回复(3)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧