【问题标题】:ASP.NET CSS file in master page母版页中的 ASP.NET CSS 文件
【发布时间】:2011-02-12 01:29:48
【问题描述】:

在我的应用程序中,我遇到了下一个问题。我创建了母版页和一些内容页,其中一些位于嵌套文件夹中。在母版页中,我添加了指向 .css 文件的链接

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

但页面位于嵌套文件夹中,无法使用此 .css 文件。我怎样才能解决这个问题?我想为所有页面创建一个 .css 文件(:

谢谢!

【问题讨论】:

    标签: asp.net css hyperlink master-pages


    【解决方案1】:
    <link href="~/default.css" rel="stylesheet" type="text/css" />
    

    【讨论】:

    • 它不起作用。也许指向 css 的链接不是服务器端的内容,并且此链接在客户端无法使用..
    • 它不起作用。也许指向 css 的链接不是服务器端的内容,并且此链接在客户端无法使用..
    • 对不起,你是对的!如果您将“runat=server”添加到您的正文标签,它将起作用!所以,你的答案是最正确的!谢谢!
    • 即使使用 'runat="server"' 这对我也不起作用。我还需要在 href 中添加 ResolveURL。所以,这里是结果&lt;link id="Link1" href='&lt;%= ResolveUrl("~/css/site.css") %&gt;' rel="stylesheet" media="screen" type="text/css"/&gt;
    • 对于一个非常好的和简单的例子,向下滚动到 wfz 的解决方案。
    【解决方案2】:

    可以通过在母版页中添加下一个代码来解决此问题

    <style type="text/css" runat="server">
        @import '<%= ResolveUrl("~/default.css")%>';
    </style>
    

    但是 VS 的设计者无法处理这个,你无法在其中查看你的样式。

    【讨论】:

    • 这对我很有用(VS2013)......在尝试了上面那些不起作用之后。还具有非常简单的优点!
    【解决方案3】:

    如果您使用网站下的网站,请更改子文件夹母版页CSS链接

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

    用下面的改变

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

    【讨论】:

    • 这是最好的解决方案:只需使用与母版页位置相对的路径链接到样式表。 ASP.NET 将在生成 HTML 时修复路径。 (可能需要将 runat="server" 添加到母版页的 head 元素。)
    • 不幸的是,这似乎不适用于 javascript 和图像资源的 src 属性。
    【解决方案4】:

    css 不应与母版页相关,而应与使用母版页的 Page 实例的位置相关。在大多数情况下,这将是同一件事,但我总是会尝试使用完全限定路径或站点相对路径

    完全限定路径

    <link href="http://some.site.com/mysite/styles/default.css" rel="stylesheet" type="text/css" /> 
    

    或相对路径(请注意,如果您的版本只能托管一个站点但可以托管许多应用程序,例如 WinXP,这可能不起作用)

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

    win xp 相对路径

    <link href="/path/to/application/default.css" rel="stylesheet" type="text/css" />
    

    【讨论】:

      【解决方案5】:

      您定义样式表的方式意味着:样式表与使用它的页面位于同一文件夹中

      如果您想为所有页面使用一个样式表,您应该放在一个位置(我更喜欢应用程序根目录中的/assets/css 文件夹)并使用此文件夹定义路径:

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

      另一种存档方式是使用Themes,在这种情况下,样式将自动添加。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-02
        • 2011-11-18
        • 1970-01-01
        • 1970-01-01
        • 2015-08-13
        • 2010-12-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多