我有一个母版页,在head标记中有一个contentplaceholder控件,这样我就可以轻松地向head标记添加任何内容(如链接标记、样式、脚本等)。从内容页。
现在,在其中一个内容页上,我有一个样式表(内联,即在样式标记中,不与链接标记链接),我希望根据页的状态显示/隐藏该样式表(该页的工作方式类似于使用页上的多视图控件的向导)。我试图用visible=false将样式表包装在占位符控件中,然后在代码中将visible设置为true,但这不起作用,样式标记不会在html中呈现。我删除了占位符控件,并将runat=“server”直接添加到样式标记中,但这也不起作用。
我之所以首先隐藏样式,是因为它们包含格式化占位符,即{0},{1}..等,在显示样式表之前,我会在后面的代码中替换这些占位符。我不想把这些款式和鞋帮一起寄给客户。为了更清楚,样式如下:
<asp:placeholder ID="_stylesPlaceHolder" runat="server" Visible="false">
<style type="text/css">
#elementid
{
width: {0}px;
height: {0}px;
overflow: hidden;
position: relative;
}
#elementid2
{
position: absolute;
width: {1}px;
height: {2}px;
top: {3}px;
left: {4}px;
}
.. and so on
</style>
</asp:placeholder>
我可以尝试从代码隐藏页动态添加样式(例如,使用page.header.stylesheet.createstylerule),但我更喜欢将它们保存在.aspx文件中,以便将HTML与代码分离,并使更改没有动态值的样式更容易。
谢谢