FineUI 官方论坛

标题: 为什么我的换肤不管用 [打印本页]

作者: 安柏技术支持    时间: 2012-3-16 11:22
标题: 为什么我的换肤不管用
本帖最后由 安柏技术支持 于 2012-3-16 11:26 编辑

按照示例写的换肤功能,可就是更换不了主题,不知道哪里配置错了,希望高手指点啊。前台代码
  1.                             <ext:ToolbarText ID="ToolbarText3" Text="主题:" runat="server">
  2.                             </ext:ToolbarText>
  3.                             <ext:DropDownList ID="ddlTheme" Width="100px" AutoPostBack="true" OnSelectedIndexChanged="ddlTheme_SelectedIndexChanged"
  4.                                 runat="server">
  5.                                 <ext:ListItem Text="蓝色" Value="blue" />
  6.                                 <ext:ListItem Text="银灰色" Value="gray" />
  7.                                 <ext:ListItem Text="Access"  Selected="true" Value="access" />
  8.                             </ext:DropDownList>
复制代码
后台代码
  1.         /// <summary>
  2.         /// 修改样式
  3.         /// </summary>
  4.         /// <param name="sender"></param>
  5.         /// <param name="e"></param>
  6.         protected void ddlTheme_SelectedIndexChanged(object sender, EventArgs e)
  7.         {
  8.             HttpCookie themeCookie = new HttpCookie("Theme", ddlTheme.SelectedValue);
  9.             themeCookie.Expires = DateTime.Now.AddYears(1);
  10.             Response.Cookies.Add(themeCookie);
  11.             PageContext.Refresh();
  12.         }
复制代码
用的上面这段代码,设置断点,已经成功运行了,可就是改变不了主题。



作者: 杜志彬    时间: 2012-3-16 11:31
在PageBase中有段代码,可能你没有注意到:


        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            if (!IsPostBack)
            {
                if (PageManager.Instance != null)
                {
                    HttpCookie themeCookie = Request.Cookies["Theme"];
                    if (themeCookie != null)
                    {
                        string themeValue = themeCookie.Value;
                        PageManager.Instance.Theme = (Theme)Enum.Parse(typeof(Theme), themeValue, true);
                    }

                    HttpCookie langCookie = Request.Cookies["Language"];
                    if (langCookie != null)
                    {
                        string langValue = langCookie.Value;
                        PageManager.Instance.Language = (Language)Enum.Parse(typeof(Language), langValue, true);
                    }
                }
            }
        }

作者: TiDi    时间: 2012-3-16 11:59
原来是这个,我也在困惑,谢谢啦
作者: 安柏技术支持    时间: 2012-3-16 12:25
杜志彬 发表于 2012-3-16 11:31
在PageBase中有段代码,可能你没有注意到:

哦,多谢了,这方面的介绍实在是太少了,像我这样的初学者实在是太容易注意不到一些重要的环节了。




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4