对自己已知的实现asp.net动态修改主题的方式做一个小总结
方式一:
在页面的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中的代码如下
void Application_PreRequestHandlerExecute(object src,EventArgs e)
{
    Page page=this.Context.Handler as Page;
    if(page!=null)
    {
       page.PreInit+=new EventHandler(page_PreInit);
    }
}

void Page_PreInit(object sender,EventArgs e)
{
    Page page=this.Context.Handler as Page;
    if(page!=null)
    {
       page.Theme="MyTheme";
    }
}
================================================
方法三:
运行时修改配置文件
protected void btnTheme_Click(object sender, EventArgs e)
{
    Configuration webConfig = WebConfigurationManager.OpenWebConfiguration("~");
    ((PagesSection)(webConfig.GetSectionGroup("system.web").Sections["pages"])).Theme = “MyTheme”;
    webConfig.Save(ConfigurationSaveMode.Modified);
}
==============================2008-6-25========================================

转载于:https://www.cnblogs.com/whs475/archive/2008/06/25/1229433.html

asp.net运行时动态修改主题相关推荐

  1. UE运行时动态设置屏幕分辨率

    文章目录 1.实现目标 2.实现过程 2.1 控制台直接输入命令 2.2 通过蓝图设置 3.参考资料 1.实现目标 在UE中以独立进程(Standalone Game)方式启动游戏,并在运行时动态修改 ...

  2. SAP UI5 应用开发教程之五十八 - 使用工厂方法在运行时动态创建不同类型的列表行项目控件试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  3. 【java】Java运行时动态生成类几种方式

    1.概述 转载:Java运行时动态生成类几种方式 这里发现自己不知道的,原来Java 还能自己编译自己,学到了. 最近一个项目中利用规则引擎,提供用户拖拽式的灵活定义规则.这就要求根据数据库数据动态生 ...

  4. ASP.NET 运行时详解 揭开请求过程神秘面纱

    对于ASP.NET开发,排在前五的话题离不开请求生命周期.像什么Cache.身份认证.Role管理.Routing映射,微软到底在请求过程中干了哪些隐秘的事,现在是时候揭晓了.抛开乌云见晴天,接下来就 ...

  5. android下运行时动态链接dlopen()和dlsym()的实现

    在android中,就如同在Linux下一样,我们也可以在app中,运行时动态加载一些动态链接库,执行调用其中的函数等操作.实现这一切最终依靠的就是dlopen()等几个函数.关于这几个函数的原型机这 ...

  6. android 禁用dlsym_(转载)android下运行时动态链接dlopen()和dlsym()的实现

    出处:http://my.oschina.net/wolfcs/blog/144412#OSC_h2_1 android下运行时动态链接dlopen()和dlsym()的实现 在android中,就如 ...

  7. .NET6运行时动态更新限流阈值

    自FireflySoft.RateLimit发布以来,帮助了不少需要在.net中进行限流处理的用户.前段时间有个开发者发了一个pull request,大意是Redis重启的时候Lua script会 ...

  8. 运用delphiXE RTTI在运行时动态获取信息及获取某个TComponent类或TObject类的RttiType信息的案例

    运用delphiXE RTTI在运行时动态获取信息及获取某个TComponent类或TObject类的RttiType信息的案例 一.理解RTTI 先看看官方文档:http://docwiki.emb ...

  9. Unity项目运行时动态更新光照贴图 | LightMap

    Unity项目运行时动态更新烘培的光照贴图 动态更新烘培的光照贴图 场景的物件没有发生变化(也就是说没有运行时加载在场景上的Prefab) 场景的烘培贴图已经更新,但是有些物件prefab想运行时加载 ...

最新文章

  1. Oracle分区表基础知识培训
  2. P1101 单词方阵
  3. c语言使用未初始化的内存怎么解决_C语言快速入门——数组与调试进阶
  4. ansible inventory 主机清单配置
  5. crowd counting_[crowd_counting]-SFANet-arxiv1902
  6. DNS 服务器 4013警告信息的解决
  7. Thinking in Java 16.3返回一个数组
  8. Hadoop家族学习路线图v
  9. 常用设计模式Python实现
  10. 2015QS世界大学排名-[转]
  11. 手机微信图片存储路径
  12. 1051 电报加密
  13. python根据模板中的MML,批量生成小区脚本
  14. Android调用C++实现共享内存(Native层)
  15. python c++混合编程文档缩减版笔记 -2
  16. RK61键盘使用说明书
  17. APE格式及编解码说明
  18. el-upload点击打开文件上传弹窗之前进行其他操作,等待操作完成后再打开文件上传弹窗
  19. .NET 控件集 ComponentOne 2018V2正式发布,提供轻量级的 .NET BI 仪表板
  20. Maven的-pl用法

热门文章

  1. CATIA 界面介绍
  2. java 微信 回复_微信java 开发2 发送文本消息并回复
  3. 剩余 大小 查看内存_JVM的内存分配策略以及进入分代的条件
  4. sql跨表查询_白话django之ORM的查询语句
  5. 基于Java+SpringBoot+vue+elementui的校园文具商城系统详细设计和实现
  6. html+字体图标找不到字体,bootstrap中不显示字体图标问题怎么解决?
  7. 使用try-catch-finally处理异常---java
  8. java连接mysql通用方法_jdbc操作数据库通用方法
  9. mysql 时间 设计模式_数据库时间设计模式
  10. 【蓝桥杯每日一练】 斐波那契数列