protected override void OnPreInit(EventArgs e) { base.OnPreInit(e); // 这里会被缓存只在第一次时调用有用 this.styleConfig = (StyleTemplateConfiguration)ConfigurationManager.GetSection("styleTemplates"); // 当你实现了自己的 Strategy时只需要更改这里就可以了 // 更好的办法是将Stragey的类型保存的Web.config中, // 然后使用反射来动态创建 //userStrategy = new CookieStyleStrategy("userStyle"); userStrategy = new ProfileStyleStrategy(); // 获取用户风格 userStyle = userStrategy.GetUserStyle(); // 如果用户没有设置风格,使用默认风格 if (String.IsNullOrEmpty(userStyle)) { userStyle = styleConfig.DefaultStyle; userTheme = styleConfig.DefaultTheme; } else { // 根据用户设置的风格 获取 主题名称 userTheme = styleConfig.GetTheme(userStyle); } this.Theme = userTheme; }