您对尼克回答的评论意味着您试图将 .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>