C# 如何根据用户设置页面主题

C# 如何根据用户设置页面主题,c#,asp.net,devexpress,themes,C#,Asp.net,Devexpress,Themes,我希望我的网页有一些主题选项,将根据用户的选择决定。据我所知,我应该在OnPreInit事件中设置Page.Theme。但是,在这种情况下,我无法访问用户的logonName。现在我使用一个表来记录用户的选择。我应该使用cookie还是您对我的问题有什么想法?在每页的PreInit事件中,您应该说: DevExpress.Web.ASPxClasses.ASPxWebControl.GlobalTheme = <ThemeName> DevExpress.Web.ASPxClass

我希望我的网页有一些主题选项,将根据用户的选择决定。据我所知,我应该在
OnPreInit
事件中设置
Page.Theme
。但是,在这种情况下,我无法访问用户的logonName。现在我使用一个表来记录用户的选择。我应该使用cookie还是您对我的问题有什么想法?

在每页的
PreInit
事件中,您应该说:

DevExpress.Web.ASPxClasses.ASPxWebControl.GlobalTheme = <ThemeName>
DevExpress.Web.ASPxClasses.ASPxWebControl.GlobalTheme=

ThemeName是主题的名称(字符串)

当用户更改主题时,您可以使用cookie和重置。您能否解释更多详细信息,如登录前需要主题?或者只在登录后使用?实际上我已经开始使用cookies了,但是我遇到了一个问题,一些浏览器不允许我使用他们的cookies。你对此有什么建议吗?我计划在用户登录后加载页面时显示默认主题,我将重置主题。在会话或数据缓存中存储主题值并应用它。如果使用会话,一段时间后我将如何达到主题选择?用户可能在一周或一天内进入该网站几次。正如您所说,您存储在表中以记录用户;'s choice然后在会话时获取主题值n apply明白了吗?Thx用于回复,但我的问题是我根据logonName设置了主题名,但我无法在PreInit事件中访问logonName。使用全局主题登录,登录后可以更改它。。使用会话保存主题名称。。