• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

asp.net运行时动态修改主题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

阅读全文:http://www.cckan.net/forum.php?mod=viewthread&tid=94

这个有很多种方法我在这里写几个吧

方式一:
在页面的PreInit事件中直接设置。该方法可实现不同页面加载不同主题,如果要实现网站整体换肤,只需要创建一个从System.Web.UI.Page类派生的子类,在该类的PreInit事件中加载特定主题,最后所有页面继承自此类即可。

protected override void OnPreInit(EventArgs e)
{
    
//这里是要换的主题的名称
    this.Theme="MyTheme";
    
base.OnPreInit(e);
}

其中“MyTheme”为主题名,可从外部文件或数据库加载,以实现主题设置的持久化。
==================================================================================
方式二:
在global.asax中捕获HttpApplication的PreRequestHanderExecute事件
在事件中为Page的PreInit事件添加处理程序
global.asax中的代码如下

;
    }
}

================================================
方法三:
运行时修改配置文件

        config.Save();

不过有一个问题:由于修改了web.config文件,session会丢失,如果用session判断用户是否在线,就会导致修改主题后必须重新登陆。

解决办法:先把session的内容放到cookie里,修改后再读取到session里。办法比较笨,如果用户浏览器不支持或者禁用了cookie,这个办法就无效了,那就只好重新登录了。不知有没更好的解决办法。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
基于PaddleOCR实现AI发票识别的Asp.net Core应用发布时间:2022-07-10
下一篇:
调试 ASP.NET Core 2.0 源代码发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap