0

我很困惑,因为我使用的是 iis7 集成,所以我的项目中不需要 default.aspx。但是,在运行时升级到 rc 后,我的站点中的任何地方都没有样式。这是我指向位于母版页旁边的样式表的链接。在设计时,vs 能够获取样式表,所以我不知道可能出了什么问题。

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

在运行时,这评估为

<link href="Views/Shared/Stylesheet.css" rel="stylesheet" type="text/css" />

看起来应该没问题。

4

1 回答 1

3

我会将您的样式移至 Content/Styles 目录;这是他们通常居住的地方。我怀疑路由引擎会阻止直接访问 View 目录中的任何文件作为预防措施(因此人们看不到您的视图代码)。您需要将链接更改为:

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

或者,如果您想硬编码根路径:

<link href="/Content/Styles/Stylesheet.css"
      rel="stylesheet"
      type="text/css" />

我做了与前者类似的事情,但使用扩展方法将当前日期作为查询参数 (?d=YYYYMMDD) 格式附加到 url 的末尾,以便在我进行更改时定期更新缓存的 CSS 文件。但是,如果这样做,则需要将后者包含在 if (false) 指令中,以确保不会丢失智能感知。

<% if (false) { %>
  <link href="/Content/Styles/Stylesheet.css"
        rel="stylesheet"
        type="text/css" />
<% } %>
于 2009-02-14T04:03:18.190 回答