还是直接上源码吗吧

源代码:/Files/lmm1508561/源码下载/2010216Theme.rar

 

很简单的例子,初级程序员都能看的懂,我这里就不介绍了。很简单的代码

 

 

代码
    /// <summary>
    
/// 
    
/// </summary>
    
/// <param name="sender"></param>
    
/// <param name="e"></param>
    protected void Page_PreInit(object sender, EventArgs e)
    {
        
// 是否为空
        if (Session["Theme"== null)
        {
            
// 默认主题
            this.Theme ="Default";
        }
        
else
        {
            
// 当前选择的主题
            this.Theme = Session["Theme"].ToString();
        }
    }

 

 

  

我把我在开发时用到主题皮肤切换时遇到的问题将一下,相信大家以后遇到这类的问题,就不用动找西找了。

问题1:当页面Head 里面的服务器标记 runat="server" 被去掉时,你的主题皮肤加载时将会失效。

解决方法: runat="server" 必须存在

 

 问题2:当页面都是继承BasePage 时,我们想通过直接在基类页面直接加载,不需要每个页面都要写一遍,这时我们又将基类页面的 protected override void OnPreInit(EventArgs e) 这个方法重写了,我们需要页面初始化时需要加载其他的也谢配置信息之类的什么的,这时问题就要存在了,页面上的样式也会失效。

解决方法 : 加上  base.OnPreInit(e); 这句就OK了

 

作者: 佳明 发表于 2011-02-17 09:32 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架