• --:)欢迎访问锋网源码(:--
  • 首页
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 繁體中文

  • 下载首页
  • ASP源码
  • PHP源码
  • .NET源码
  • JSP源码
  • CGI源码
  • 建站素材
  • 服务器类
  • 书籍教程
  • 常用工具
JAVA | Delphi | Visual Basic | VC/C++ | Visual Foxpro | PowerBuilder | 汇编 中文域名 双线空间
软件分类 | 最新更新 | 推荐软件 | TOP100 | 分类排行 | 发布软件 | 软件搜索: 高级搜索
赞助商连接:
您的位置: 下载首页 >> .NET源码 >> 其他类别 >> 母板页(MasterPage)中设置主题(附程序详解)
 

精彩推荐

 
 

本类推荐下载

  • DX TextBox 多功能文章编..
  • 烁空ASP.Net全能数据库组..
  • XPASP验证码控件(ASP.NE..
  • FreeTextBox v1.6.5 简体..
 
 

本类下载排行

  • Asp.net2.0水晶报表(Cry..
  • 库存管理系统 v1.0
  • DotNetTextBox(编辑器控..
  • ASP.NET v2.0 入门50例源..
  • FreeTextBox v3.1.6(Net..
  • 赛维盛易ASP企业智能建站..
  • 企业客户管理系统 1.0
  • XPASP验证码控件(ASP.NE..
  • ASP.NET2.0支持多语言示..
  • 中国象棋网络版C#源码
  • HHFeditor在线编辑器 v3..
  • DotNetTextBox网页编辑器..
  • asp.net水印加图片上传组..
  • DX TextBox 多功能文章编..
  • 网奇Cwms企业网站程序 v..
 
 

本类最新更新

  • 双鱼林学生公寓信息管理..
  • 牛奶产品质量监督局
  • 新试验仪器研究院
  • 多功能教室预约系统 C4...
  • 根据IP查询所在地源码
  • WQedit在线编辑器.net2...
  • JavaScript 图片切割效果..
  • HSORT电子报纸管理系统 ..
  • 0451sky高校教务管理系统..
  • 动易SiteFactory正式版
  • jquery无刷新分页、排序..
 
 

母板页(MasterPage)中设置主题(附程序详解)

  • 软件评价:
  • 软件语言:简体中文
  • 授权方式:开源软件
  • 运行环境:ASP.NET
  • 软件大小:38KB
  • 是否推荐:否 相关评论
  • 收录/更新:2008-11-21/2008-11-21
  • 下载次数:
  • 演示地址:
  • 作者主页:http://www.51aspx.com/CV/ThemeInMasterPage/
  • 联系作者:
阿里下载站 - 绿色精品软件一网打尽!
数据超市com域名43元  59互联服务器租用
添加至站内收藏夹下载链接错误报告
长春电信 安徽电信 福建电信
申请免费空间 绿色免费软件下载
软件简介:
2008-11-29
  双线服务器租用仅599元 点击网络
  ASP.Net 提供了主题皮肤这个东西,其实也就是换肤啦。可是网上有很多人说这个东西鸡肋,说这个东西在 .aspx页面中使用还行,却不能在母板页(MasterPage)中使用。是的,确实不能直接在MasterPage通过一个DDL的选择来切换整个网站的主题,因为 Page.Theme 这个属性都是在PreInit(){}中设置,否则报错,而MasterPage是不执行PreInit() 。
 我做的这个实例希望能够帮大家解决这个问题。为是大家能更好的理解我这个源码,下面简单介绍一下。
 首先说下思路:我们的目的是要在MasterPage放个DropDownList,通过切换DropDownList ,(我这里没有用DropDownList,而是用Css模拟一个“DropDownList” 其中的每个项里放了一个LinkButton,每个LinkButtond的PostBackUrl的值都形如:"~/ThemeTool.aspx?Theme=主题名称" )来改变整个网站的主题 ,而不是只改变当前页面,就跟Discuz ! 的那个一样,所以这个改变是全局的,但是是针对于当前线程的,即A用户改变了主题,只对A有效,对B用户没有影响,所以我们不会动到配置文件,那我们很快想到的就是session ,对的,我们要把主题的名称放到session里 ,如Session["Theme"]="Blue" ;这样每个页面 只要在Page_PreInit()里去获取该Session的值,并赋给该页面的Page.Theme属性,就OK了。
 当我们改变了"DropDowList"的选项,在我这里实际上是点击了不同的Linkbutton,也就是要改变主题的名称了,也就是要改变Session["Theme"]的值了,这个“改变”的在哪里执行呢?这是很关键的,是在LinkButton_Click()里吗?不是,因为重新获取Page.Theme必须在Page_PreInit()里,而LinkButton_Click()是发生得很晚的,还在Load之后,更别说PreInit()了,所以我在这里是将它跳转到ThemeTool.aspx里处理的,处理完了再重定向到原页面,这样就达到了在原页面PreInit()之前改变了Session["Theme"]的值,请放心这一过程不会使ThemeTool加载到浏览器,我们看不到的,我们只是借用了它的Page_PreInit(),用完立马就走了,哈哈!!
 好了,思路就这样,下面再介绍下三个文件:
 1、MasterPage.master ,在这个文件里值得说的就是我那用Css模拟的"DropDownList" , 该"DropDownList" 的每个项里都有个LinkButton ,每个LinkButtond的PostBackUrl的值都形如:"~/ThemeTool.aspx?Theme=主题名称"  ,这样每次改变"DropDownList" 的选项就会向ThemeTool.aspx传去了新的Theme值,再由ThemeTool.aspx处理将这个新的Theme值存入Session。
 2、在App_Code文件夹里有个ThemeSkin.cs文件,里面写了两个静态方法:GetTheme(Page P) 和GetTheme(Page P),其中GetTheme(Page P)用来获取主题,这个方法在网站的每一个需要有主题的页面(我这里就是Default.aspx 和Default2.aspx l了)的Page_PreInit()里被调用,参数P 是指调用该方法的页面,是个Page类型的对象;ChangeTheme()用来切换主题,在ThemeTool.aspx.cs的Page_PreInit()里被调用。
 3、根目录里的ThemeTool.aspx这个页面也是很重要的,主题的切换就是在它的Page_PreInit里搞定的,谁叫MasterPage不执行PreInit呢 ^_^  。里面的代码很简单,不信你去看。
百度中“母板页(MasterPage)中设置主题(附程序详解) ”相关
谷歌中“母板页(MasterPage)中设置主题(附程序详解) ”相关

相关软件
相关资讯
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 
  • 按字母
  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

关于本站 | 版权声明 | 广告联系 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号