Asp.NET 没有应用我的 CSS 文件

Posted

技术标签:

【中文标题】Asp.NET 没有应用我的 CSS 文件【英文标题】:Asp.NET not applying my CSS files 【发布时间】:2013-01-07 00:24:18 【问题描述】:

我的网站位于文件夹 /website

在浏览器中,它通过 url http://localhost:52912/website/ 打开

我的默认页面和母版页面都位于根目录中

在 Default.aspx 中我包含我的母版页,例如:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default"  MasterPageFile="WTF.master" %>

在我的 WTF.mater 中,我包含 css 文件:

<link href="~/css/reset.css" runat="server" rel="stylesheet" type="text/css" media="screen" />

当我运行该站点并在 mozilla 中查看他的源代码时,我看到 css 文件链接为:

<link href="css/reset.css" rel="stylesheet" type="text/css" media="screen" />

所以,完整的网址将是http://localhost:52912/website/css/reset.css,这是正确的

-css文件存在

-firebug 中没有错误,例如“404 not found - reset.css”

-调试项目时没有错误

我什至无法通过浏览器中的直接链接 (http://localhost:52912/website/css/reset.css) 或 Mozilla 源代码查看器中的链接打开此文件

返回http://localhost:52912/website/default.aspx?ReturnUrl=%2fcss%2freset.css 我仍然在同一页面上

我尝试了一大堆来自谷歌的各种组合和建议 - 没有任何帮助

什么..???

已解决: 通过添加

<location path="css">
        <system.web>
            <authorization>
                <allow users="*" />
            </authorization>
        </system.web>
    </location>

在 web.config 中

【问题讨论】:

【参考方案1】:

那是因为您打开了表单身份验证,并且您没有允许 css 文件夹公共访问。尝试将其添加到 web.config:

<location path="css">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>

【讨论】:

Tnx 朋友,我的怀疑是有道理的! @sbxmal 没有问题 :) 很高兴我能帮上忙!【参考方案2】:

您似乎遇到了身份验证问题。 你能检查或发布你的 web.config 文件吗?

【讨论】:

【参考方案3】:

从链接 href 中删除波浪号 (~)。它应该只是

<link href="/css/reset.css" runat="server" rel="stylesheet" type="text/css" media="screen" />

【讨论】:

以上是关于Asp.NET 没有应用我的 CSS 文件的主要内容,如果未能解决你的问题,请参考以下文章

忽略 ASP.net 中的 Javascript、CSS 和图像文件路由

ASP.NET MVC5 我不想合并 CSS 文件

母版页中的 ASP.NET CSS 文件

ASP.NET MVC 5 缓存 CSS 和 JS 文件

在 asp.net 中动态加载 CSS 元素

如何在 asp.net mvc 核心中链接 css?