我在ASP上做一个项目.NET MVC 4和我执行了以下步骤:

  1. http://blog.getbootstrap.com/2013/12/05/bootstrap-3-0-3-released/下载twitter bootstrap

  2. 将字体文件的生成操作设置为Content(文件位于~/Content/font文件夹中)

    glyphicons-halflings-regular.eot
    glyphicons-halflings-regular.svg
    glyphicons-halflings-regular.ttf
    glyphicons-halflings-regular.woff
    
  3. 添加到RouteConfig.反恐精英

    routes.IgnoreRoute("{Folder}/{*pathInfo}",new{Folder="Content"});

  4. 在Web中添加了以下元素.配置

    <?xml version="1.0" encoding="UTF-8"?>
    <system.webServer>
       <staticContent>
           <remove fileExtension=".eot" />
           <remove fileExtension=".ttf" />
           <remove fileExtension=".otf"/>
           <remove fileExtension=".woff"/>
           <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
           <mimeMap fileExtension=".ttf" mimeType="font/ttf" />
           <mimeMap fileExtension=".otf" mimeType="font/otf" />
          <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
       </staticContent>
    </system.webServer>
    
  5. BundleConfig.cs中包含以下代码

    bundles.Add(new StyleBundle("~/bundles/maincss")
                        .Include("~/Content/bootstrap/bootstrap.css")
                        .Include("~/Content/bootstrap/bootstrap-theme.css")
                        .Include("~/Content/hbl-full.css"));
    

    还try 了以下代码

    IItemTransform cssFixer = new CssRewriteUrlTransform();
    
    bundles.Add(new StyleBundle("~/bundles/maincss")
                        .Include("~/Content/bootstrap/bootstrap.css", cssFixer)
                        .Include("~/Content/bootstrap/bootstrap-theme.css", cssFixer)
                        .Include("~/Content/hbl-full.css", cssFixer));
    
  6. 在Main Layout.cshtml中调用

    @风格.渲染("~/bundles/maincss")

在localhost中,图标仍然正常显示,但当我按下代码来释放服务器时,我只能看到正方形而不是图标,在Chrome的控制台选项卡中,我可以看到

获取http://domain.apphb.com/fonts/glyphicons-halflings-regular.woff 404(未找到)测试:1

获取http://domain.apphb.com/fonts/glyphicons-halflings-regular.ttf 404(未找到)测试:1

获取http://domain.apphb.com/fonts/glyphicons-halflings-regular.svg 404(未找到)测试:1

非常感谢.

推荐答案

我有这个问题,我发现它是由于在发布模式下构建时的缩小而发生的.

我没有从 bootstrap 站点手动下载文件并配置绑定,而是使用nuget软件包,它为我完成了这项工作.

如果您想这样做,请执行以下步骤.

运行以下命令以安装 bootstrap 程序:

Install-Package Twitter.Bootstrap.MVC

这将下载所有 bootstrap 程序包文件,并包括以下预定义的 bootstrap 程序包配置:

public class BootstrapBundleConfig
{
    public static void RegisterBundles()
    {
        // Add @Styles.Render("~/Content/bootstrap") in the <head/> of your _Layout.cshtml view
        // For Bootstrap theme add @Styles.Render("~/Content/bootstrap-theme") in the <head/> of your _Layout.cshtml view
        // Add @Scripts.Render("~/bundles/bootstrap") after jQuery in your _Layout.cshtml view
        // When <compilation debug="true" />, MVC4 will render the full readable version. When set to <compilation debug="false" />, the minified version will be rendered automatically
        BundleTable.Bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include("~/Scripts/bootstrap.js"));
        BundleTable.Bundles.Add(new StyleBundle("~/Content/bootstrap").Include("~/Content/bootstrap.css"));
        BundleTable.Bundles.Add(new StyleBundle("~/Content/bootstrap-theme").Include("~/Content/bootstrap-theme.css"));
    }
}

上面还包括描述如何呈现包的注释.

我认为最初的404字体错误是由于Fonts文件夹与缩小的CSS中指定的级别不同.

如果您希望保留当前的解决方案,那么我修复404的唯一方法就是将字体文件夹复制到web应用程序的根目录.

要在本地进行测试,只需从web配置中删除debug="true",以保存部署到AppHarbor.

Asp.net相关问答推荐

在Docker Windows中,ASP.NET核心容器在自定义端口8080上运行,但ASP.NET容器在固定端口80上运行

在 ASP.Net 中使用自定义 RoleProvider 时如何允许多个角色查看页面

系统日期时间?与 System.DateTime

创建一个供 ASP.NET 应用程序中的所有线程使用的静态 Regex 对象是否有效?

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

为什么我在安装 IE8 后无法从 Visual Studio 2005 调试?

加载特定 UpdatePanel 后如何调用客户端 javascript 函数

如何判断一个IP地址是否是私有的?

如何在 ASP.NET core rc2 中禁用浏览器缓存?

如何通过后面的代码不显示

ASP.Net:在共享/静态函数中使用 System.Web.UI.Control.ResolveUrl()

在 ASP.NET 中将虚拟路径转换为实际 Web 路径

如何获取 ActionLink 的工具提示?

测试 Web 表单应用程序 (ASP.NET) 的最佳方法是什么

无法共同创建探查器错误 - 但未使用探查器

如何从 ASP.NET 中的数据表/数据视图中 Select 前 n 行

对于 DB ID,需要一个较小的 GUID 替代方案,但对于 URL 仍然是唯一且随机的

如何在 GridView 中隐藏 TemplateField 列

IronRuby死了吗?

ASP.NET 自定义控件 - 未知的服务器标记