2

我想更改在我的 ASP.NET Web 应用程序运行时使用的 CSS 文件。

假设我有 2 个 CSS 文件,red.css并且blue.css.

我尝试了以下方法:

在我的母版页中,我有以下链接:

<link rel="Stylesheet" ID="Styles" runat="server"/>

在母版页 Page_Load 中:

Styles.Href = Global.CSSPath;

全球.asax:

public static string CSSPath = "red.css";(假设它在同一个文件夹中)

这种方法有效。当然,我可以轻松地实现一些功能来更改 CSSPath 的值并使其成为 blue.css 或其他任何东西 - 现在我想知道这是否只影响一个用户或使用我的 Web 应用程序的每个人。

如果它只影响一个用户:太好了,谢谢!如果没有:我应该怎么做才能在运行时为特定用户/会话更改主题?

谢谢,

丹尼斯

4

2 回答 2

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>
于 2011-10-21T11:26:07.870 回答
3

当您从静态(全局)变量中读取值时,它将影响所有用户。

要在运行时更改主题,您可以像现在一样在服务器端进行,但您需要获取用户特定的值,可能来自 Session。

于 2011-10-21T11:44:24.103 回答