如何根据在 RadSkinManager 中选择的皮肤更改 ASP.NET App_Themes?
我的主页中有一个 RadSkinManager 下拉列表,允许用户选择 Telerik Rad Controls 提供的自己的皮肤。我希望能够切换我的 App_Theme 目录,以便我的所有其他 CSS 和 asp.net .skin 文件也与 RadSkin 一起更改。
对此有“最佳实践”吗?
您需要存储用户选择的主题并设置 Page.StyleSheetTheme 属性。
.NET 配置文件适用于您描述的场景。创建 UI Theme 属性并设置页面 StyleSheetTheme 或 Theme。通过您的基本页面控制主题。
有关创建配置文件属性,请参阅http://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx。
配置文件属性示例:
<profile>
<properties>
<group name="UI">
<add name="Theme" type="System.String" defaultValue="DefaultThemeName" />
</group>
</properties>
</profile>
访问属性:
ProfileCommon profile = new ProfileCommon().GetProfile(HttpContext.Current.User.Identity.Name);
Page.StyleSheetTheme = profile.UI.Theme;
最后,使用 RadSkinManager 下拉列表设置用户配置文件的主题。