【问题标题】:Webserver can't find CSS file网络服务器找不到 CSS 文件
【发布时间】:2014-04-09 12:31:12
【问题描述】:

我已尝试研究我的问题,但找不到任何可以回答我问题的内容。我确信答案就在某个地方,尽管如此,我不知道具体要搜索什么,因此,我想提前道歉。

我的代码:

<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder ID="cph_head" runat="server">
        <link href="/assets/css/layout.css" rel="stylesheet"  runat="server" />
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <script src="//use.edgefonts.net/source-code-pro.js"></script>
        <script src="/assets/scripts/modernizr.js"></script>
    </asp:ContentPlaceHolder>
</head>

如您所见,我的样式表应该已经添加到那里,我在路径前面放了一个斜杠,以确保无论您在哪个文件夹中它都能正常工作。但是,当我把斜杠放在它前面时,它不工作。如果我删除斜线,它可以正常工作。

我正在使用 Visual Studio 2012,并且正在使用 ASP.NET Webforms。我希望有一个人可以帮助我。这个问题在我的笔记本电脑上没有发生,即使是同一个项目,但不幸的是它发生在我的固定电脑上。

希望你能帮助我,非常感谢你。

【问题讨论】:

    标签: asp.net css webforms webserver


    【解决方案1】:

    我假设,这就是你的母版页标记,所以试试这样:

    <head runat="server">
        <title></title>
        <link href="/assets/css/layout.css" rel="stylesheet"  runat="server" />
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <script src="//use.edgefonts.net/source-code-pro.js"></script>
        <script src="/assets/scripts/modernizr.js"></script>
        <asp:ContentPlaceHolder ID="cph_head" runat="server">
    
        </asp:ContentPlaceHolder>
    </head>
    

    asp:ContentPlaceHolder 应该在您的母版页上保持空白。它会被子页面上的内容覆盖。

    【讨论】:

    • 我不敢相信我犯了这个错误哈哈,但是,它并没有解决相对路径问题,所以如果我在我的路径前面加上一个斜杠,它仍然不起作用,如果我删除斜线它工作得很好。我知道这与 Visual Studio 中的一个选项或类似的东西有关,我就是找不到。
    • 查看您网页的来源。样式表的链接是什么样子的?基本上,如果您在母版页上放置样式表的链接(没有 '/' ),它应该相对显示,并且在所有页面中都有效。
    • 你是对的,这确实有效。 facepalm - 非常感谢您的耐心和帮助,非常感谢!
    最近更新 更多