【发布时间】:2011-02-28 12:58:20
【问题描述】:
我正在使用此链接中的 gridview 样式表
http://www.cyberslingers.com/Sandbox/GridView.aspx
它有各种样式表附加到同一个gridview。当用户选择下拉列表项时,我想将样式表从服务器端附加到页面
【问题讨论】:
标签: asp.net stylesheet server-side
我正在使用此链接中的 gridview 样式表
http://www.cyberslingers.com/Sandbox/GridView.aspx
它有各种样式表附加到同一个gridview。当用户选择下拉列表项时,我想将样式表从服务器端附加到页面
【问题讨论】:
标签: asp.net stylesheet server-side
您可以在服务器端生成样式表并将其附加到页面上:
HtmlGenericControl style = new HtmlGenericControl("style");
style.Attributes.Add("type", "text/css");
style.InnerText = "p { color:red; }";
Page.Header.Controls.Add(style);
上面的代码可以在下拉列表的 selectionindexchanged 事件的事件处理程序中,然后你可以生成你想要的所有样式并将它们附加到页面。
如果您只是想附加对外部 css 文件的引用,那么您可以这样做:
HtmlGenericControl link = new HtmlGenericControl("link");
link.Attributes.Add("rel", "stylesheet");
link.Attributes.Add("type", "text/css");
link.Attributes.Add("href", "/styles.css");
Page.Header.Controls.Add(link);
【讨论】:
简单的解决方案是只需将 runat="server" id="myname" 放入您的标签中,然后您可以在代码中设置值。
HTML
<link id="MyLink" href="~/css/default.css" rel="stylesheet" type="text/css" media="all" runat="server" />
CS
MyLink.Href = "~/css/Different.css";
【讨论】: