将css文件链接到内容页面

时间:2009-10-07 14:36:47

标签: asp.net

我有母版页和一些内容页 我想为每个内容页面分配不同的css文件。

(不使用主题)
我怎么能这样做?

4 个答案:

答案 0 :(得分:5)

我通过在主页面中添加标题占位符并在内容页面中明确指定css来做到这一点。

在主人:

<head runat="server">
    <title></title>
    <link href="~/css/common.css" rel="stylesheet" type="text/css" />
    <!-- loads of other stuff / -->
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>

并在内容中:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
        <link href="../css/SomeContent.css" rel="stylesheet" type="text/css" />
        <script src="../js/SomeJsToo.js" type="text/javascript"></script>
</asp:Content>

答案 1 :(得分:1)

如果您正在使用visual studio 2008,那么您将拥有一个非常轻松的时间。首先制作一个这样的母版页:

    <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>

现在根据此母版页制作内容页面:

    <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
</asp:Content>

现在,在Content1占位符中,您只需放置要应用于该页面的样式表。

就是这样。希望这对你有用。

答案 2 :(得分:0)

使用以下所有页面使用外部主CSS文件:

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

然后,您可以使用样式标记在各个内容页面上使用嵌入式CSS,例如:

<style type="text/css">
h1 {color:red}
p {color:blue}
</style>

答案 3 :(得分:0)

我尝试了很多上述方法,但仍然遇到错误。最后我在页面加载上使用以下代码,它工作正常:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Dim css1 As New HtmlLink
    css1.Href = ResolveUrl("report.css")
    css1.Attributes("rel") = "stylesheet"
    css1.Attributes("type") = "text/css"
    css1.Attributes("media") = "all"
    Me.Page.Header.Controls.Add(css1)

End Sub