如何根据RadSkinManager中选择的皮肤更改ASP.NET App_Themes?
我的主页上有一个RadSkinManager下拉列表,允许用户选择Telerik Rad Controls提供的自己的皮肤。我希望能够切换我的App_Theme目录,这样我的所有其他CSS和asp.net.skin文件也会随着RadSkin一起更改。
这方面有"最佳实践"吗?
您需要存储用户选择的主题并设置Page.StyleSheetTheme属性。
.NET配置文件可以很好地用于您描述的场景。创建UI主题属性并设置页面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下拉列表设置用户配置文件的主题。