我试图在Twitter bootstrap 的MVC4中使用新的Bundle 特性,在我看来,CSS get中的字形图标png-files的路径在某种程度上搞砸了.以下是我的代码:

 bundles.Add(new StyleBundle("~/bundles/publiccss").Include(
            "~/Static/Css/bootstrap/bootstrap.css",
            "~/Static/Css/bootstrap/bootstrap-padding-top.css",
            "~/Static/Css/bootstrap/bootstrap-responsive.css",
            "~/Static/Css/bootstrap/docs.css"));


        bundles.Add(new ScriptBundle("~/bundles/publicjs").Include(
            "~/Static/Js/jquery-1.7.2.js",
            "~/Static/Js/bootstrap/bootstrap.js",
            "~/Static/Js/cookie/jquery.cookie.js"));

我没有在按钮上看到任何图标,同样的.我做错什么了吗?有什么建议吗?

推荐答案

问题很可能是css文件中的图标/图像使用的是相对路径,因此,如果你的Bundle 包与未绑定的css文件不在同一应用程序相对路径中,它们就会变成断开的链接.

我们的待办事项列表中有css中的URL重定基址,但目前最简单的做法是让包路径看起来像css目录,这样相对URL就可以正常工作,即:

new StyleBundle("~/Static/Css/bootstrap/bundle")

Update:我们在1.1beta1版本中增加了对这一点的支持,所以要自动重写图像URL,可以添加一个新的ItemTransform,它会自动重新设置基址.

bundles.Add(new StyleBundle("~/bundles/publiccss").Include(
            "~/Static/Css/bootstrap/bootstrap.css",
            "~/Static/Css/bootstrap/bootstrap-padding-top.css",
            "~/Static/Css/bootstrap/bootstrap-responsive.css",
            "~/Static/Css/bootstrap/docs.css", new CssRewriteUrlTransform()));

Asp.net相关问答推荐

AJAX返回未定义、失败

此版本的 SQL Server 不支持用户实例登录标志.连接将关闭

在 aspx 页面中使用 if else 和 eval

如何将 JQuery 与母版页一起使用?

Azure 自定义控制器/API .Net 后端

业务线应用程序:F# 会让我的生活变得轻松吗?

如何使用 ASP.NET Identity 创建用户并获取新创建的 ID

System.Web.HttpContext 无法识别

学习什么 - Ruby on Rails 或 ASP .NET MVC...鉴于熟悉 ASP .NET

为什么 Asp.Net Identity IdentityDbContext 是一个黑盒?

无法复制文件.访问路径被拒绝

用于验证的数据注释,至少一个必填字段?

应该如何使用 RedirectToRoute?

如何将参数传递给 ASP.NET MVC 2 中的自定义 ActionFilter?

Html.RenderAction 和 Html.Action 的区别

MVC 模型布尔显示是或否

避免在 ASP.NET MVC 中使用会话状态是一种好习惯吗?如果是,为什么以及如何?

GridView 按代码隐藏列

ASP.NET 核心,更改未经授权的默认重定向

IE9 JavaScript 错误:SCRIPT5007:无法获取属性ui的值:对象为空或未定义