【问题标题】:Why can't my Theme.Master find its Site.css?为什么我的 Theme.Master 找不到它的 Site.css?
【发布时间】:2010-10-19 23:03:48
【问题描述】:
<link href="Site.css" rel="stylesheet" type="text/css" />

这在我的本地计算机上的 Theme.Master (Views/Themes/Blue/Theme.Master) 上运行良好,但在其最终主页的托管提供商上运行良好。如果 css 在 Content 文件夹中,在 Content 文件夹的任何子文件夹中,则 Theme.Master 可以找到 css,但如果 css 与 Theme.Master 在同一文件夹中,则不能。

我说得有道理吗?

非常沮丧

【问题讨论】:

    标签: c# css model-view-controller master


    【解决方案1】:

    您必须使用相对文件引用。试试这个:

    <link href="<%= Url.Content("~/Content/Site.css") %>" rel="stylesheet" type="text/css" />
    

    ...这应该可以解决问题。

    编辑 由于您评论说这不起作用,我查找了从哪里找到我的解决方案。我在 this 博客文章中从 Lance Fisher 那里得到它。如果不能解决(因为它是在谈论 java 脚本文件),您还可以查看 here 之前回答的类似问题。希望对您有所帮助!

    【讨论】:

    • " rel="stylesheet" type="text/ 的结果css" /> 是 但这不起作用。 T
    【解决方案2】:

    您是否尝试过使用根路径?如:

    <link href="/Site.css" rel="stylesheet" type="text/css" />
    

    <link href="/style/Site.css" rel="stylesheet" type="text/css" />
    

    如果您的样式表不在您网站的根目录中。

    【讨论】:

      【解决方案3】:

      在托管提供商上,应用程序是否位于站点根目录中?或在子文件夹中?在这方面,您的开发环境是否与服务器上的设置相匹配?您可能需要确保您的工作相对于应用程序根目录,~/

      从根本上说,这类似于相同的问题(使用脚本)discussed here

      【讨论】:

      • 这些建议都没有解决问题。
      【解决方案4】:

      您对尼克的回答的评论暗示您正试图将 .css 文件放在与 ~/Views/ 文件夹树下的 Theme.Master 文件相同的文件夹中。你不能这样做。 ~/Views/ 树被配置为阻止来自 Web 浏览器的所有 HTTP 请求。

      您需要将 .css 文件放在可访问的位置。 ~/Content/ 文件夹树是放置 .css 文件的传统位置。如果您将 .css 文件移到那里,然后按照 Nick 的建议使用它,它将起作用:

      <link href="<%= Url.Content("~/Content/Site.css") %>" rel="stylesheet" type="text/css" />
      

      为了记录,由于 web.config 文件中的这些指令,它在 Views 文件夹中不起作用(注意,在 Views 文件夹中直接有一个 web.config 文件)。这只是仅供参考。我不建议您尝试弄乱这些,因为它们通常是有充分理由的:

      <!-- for IIS6 -->
      <httpHandlers>
        <add path="*" verb="*"
            type="System.Web.HttpNotFoundHandler"/>
      </httpHandlers>
      
      <!-- for IIS7 -->
      <handlers>
        <remove name="BlockViewHandler"/>
        <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/>
      </handlers>
      

      【讨论】:

      • 谢谢,Erv。我不知道这一点。
      猜你喜欢
      • 2023-04-10
      • 2021-01-20
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-16
      • 1970-01-01
      相关资源
      最近更新 更多