Ash*_*ani 8 css asp.net bundle asp.net-mvc-4 bundling-and-minification
要将相对图像路径转换为绝对路径,有很多问题需要在stackoverflow中提出并回答,如下所示:
建议添加new CssRewriteUrlTransform()如下:
bundles.Add(new StyleBundle("~/Content/css/jquery-ui/bundle")
.Include("~/Content/css/jquery-ui/*.css", new CssRewriteUrlTransform()));
Run Code Online (Sandbox Code Playgroud)
这实际上已经救过我了.但是现在我将我的网站部署到应用程序(不是网站的根目录),仍然存在一个问题:
申请是:
http://localhost/sample/
Run Code Online (Sandbox Code Playgroud)
但图片网址如下:
http://localhost/css/imgs/spirit.png
Run Code Online (Sandbox Code Playgroud)
虽然它应该是:
http://localhost/sample/css/imgs/spirit.png
Run Code Online (Sandbox Code Playgroud)
虽然捆绑的CSS链接本身是正确和有效的.
如果没有涉及虚拟目录,则以下代码将执行:
bundles.Add(new StyleBundle("~/bundles/css").Include(
"~/Content/css/*.css", new CssRewriteUrlTransform()));
Run Code Online (Sandbox Code Playgroud)
但是当使用VirtualDirectory时,CssRewriteUrlTransform将重写为Host而不是Host/VirtualDirectory.解决方案是派生CssRewriteUrlTransform,这里将对此进行全面讨论:ASP.NET MVC4与Twitter Bootstrap捆绑:
public class CssRewriteUrlTransformWrapper : IItemTransform
{
public string Process(string includedVirtualPath, string input)
{
return new CssRewriteUrlTransform().Process("~" + VirtualPathUtility.ToAbsolute(includedVirtualPath), input);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3118 次 |
| 最近记录: |