如何动态更改ASP.NET网站主题

时间:2009-09-11 09:13:42

标签: asp.net

我有像

这样的代码
   <configuration>
        <system.web>
              <pages Theme="Themename" />
        </system.web>
   </configuration>

现在我们如何更改主题值运行时。

我希望用户从下拉列表中选择主题。选定的主题设置为web.config文件,然后应用于项目。

1 个答案:

答案 0 :(得分:4)

如果您要全局更改,每个用户都会获得上次用户选择的主题。

您必须存储用户在特定于用户的存储中所做的选择,例如会话状态:

Session["Theme"] = "ThemeName";

然后,您必须在每个页面的Page_Init事件中设置主题:

public void Page_Init(object sender, EventArgs args) {
   string theme = Session["Theme"] as String;
   if (theme != null) {
      Page.Theme = theme;
   }
}