我有母版页和一些内容页 我想为每个内容页面分配不同的css文件。
(不使用主题)
我怎么能这样做?
答案 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