我想更改在ASP.NET Web应用程序运行时使用的CSS文件。
假设我有2个CSS文件,red.css
和blue.css
。
我尝试了以下方法:
在我的母版页中,我有以下链接:
<link rel="Stylesheet" ID="Styles" runat="server"/>
在母版页Page_Load:
中 Styles.Href = Global.CSSPath;
的Global.asax:
public static string CSSPath = "red.css";
(假设它位于同一个文件夹中)
这种方法有效。当然,我可以轻松实现一些功能来改变CSSPath的价值并使其成为blue.css或其他任何东西 - 现在我想知道这是否只影响一个用户或每个人使用我的Web应用程序。
如果它只影响一个用户:太棒了,谢谢!如果没有:我应该怎么做才能在运行时为特定用户/会话更改主题?
谢谢,
丹尼斯
答案 0 :(得分:3)
尝试在html
<script runat="server">
protected void Page_Init(object sender, EventArgs e)
{
HtmlLink csslink = new HtmlLink();
csslink.Href = "~/red.css";
csslink.Attributes.Add("rel", "stylesheet");
csslink.Attributes.Add("type", "text/css");
Page.Header.Controls.Add(csslink);
}
</script>
答案 1 :(得分:3)
当您从静态(全局)变量中读取值时,它将影响所有用户。
要在运行时更改主题,您可以像现在一样在服务器端执行此操作,但是您需要从会话中获取特定于用户的值。