使用母版页在Aspx页面中引用CSS工作表

时间:2012-07-30 11:27:05

标签: asp.net css

问题在标题中得到了很好的说明。通常我会使用<link... />来引用我的CSS工作表,但由于我使用的是母版页,我无法访问Head标签,因此如何在ASPX页面上引用特定的CSS工作表。我尝试使用<%@ Import Namespace="Style.css"但没有运气。谢谢你的帮助。

6 个答案:

答案 0 :(得分:13)

只需添加一个包含默认值的CSS ContentPlaceHolder。

基本上,除非您使用子页面中的标记覆盖该占位符,否则将包含您指定为默认值的CSS文件。

您的母版页看起来应该是这样的。

<head>
    <asp:ContentPlaceHolder ID="Stylesheets" runat="server">
        <link rel="stylesheet" href="/css/master.css" type="text/css" />
    </asp:ContentPlaceHolder>
</head>

然后,从使用该母版页的任何页面,您只需使用不同的样式表覆盖它。

开(示例)AboutUs.aspx

<asp:Content ID="Content1" ContentPlaceHolderID="Stylesheets" runat="server">
    <link rel="stylesheet" href="/css/Style.css" type="text/css" />
</asp:Content>

答案 1 :(得分:1)

如果要将CSS样式表添加到任何ASPX页面,则应使用PlaceHolders。

母版页:(在本节中)

<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>

ASPX页面:

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
// add your link here
</asp:Content>

答案 2 :(得分:0)

只需将您的样式表拖到您的主页面.aspx,它将适用于您的所有其他表单

答案 3 :(得分:0)

您有3种可能的解决方案:

  1. 将链接添加到母版页标记的head标记。如果这样做,使用给定母版页的所有页面将自动使用您的css文件。

  2. 在母版页的head标记中使用ContentPlaceHolder。您可以在引用给定母版页的页面上使用ContentPlaceHolder,并且可以在标记中的ContentPlaceHolder标记内添加链接标记。

  3. 您可以使用Javascrip / jQuery函数添加链接标记。

答案 4 :(得分:0)

虽然我在Page_Load事件(VB)中使用了以下路径后面的代码,但我会给A.K正确的答案,因为它似乎更好地回答了这个问题,但只是不符合我的具体情况。

Dim link As New HtmlLink()
link.Attributes.Add("href", Page.ResolveClientUrl("../Css/Generic-Form2.css"))
link.Attributes.Add("Type", "text/css")
link.Attributes.Add("rel", "stylesheet")
Page.Header.Controls.Add(link)

答案 5 :(得分:-1)

使用DOM操作将link标记附加到head