如何在网站级别动态更改主题
2012-07-23 15:55
246 查看
在做一个项目的时候,要求客户可以选择自己喜欢的主题。简单查了一下资料,思路上基本是这样的:
1. 数据库客户表有一个字段(暂时取名为Theme),专门记录客户喜欢的主题。
2. 当客户第一次登录后,网站呈现的是默认的主题模式,创建Session,查询数据库并为其赋值(当然对于新客户Theme字段有默认值为Default)。根据客户选择的主题不同,在更改网站的主题同时,将此主题存入数据库。以便再次登录后显示此主题。
那么关键的一点是如何可以动态得更改整个网站的主题呢?
我采用这个方案:
1. 创建一个从 System.Web.UI.Page 继承的 ThemePage 类,此类重写 OnPreInit 方法:
1Protected Overrides Sub OnPreInit()Sub OnPreInit(ByVal e As EventArgs)
2 MyBase.OnPreInit(e)
3
4 If Not Session("Theme") Is Nothing Then
5 Page.Theme = Session("Theme")
6 End If
7End Sub
8
2. 将其他所有的page页都继承自 ThemePage类,登录页可以除外。
3. 在切换主题页里这么处理:
1If ddlTheme.SelectedIndex = 0 Then
2 Session("Theme") = "Default" ' Use the default Theme
3Else
4 Session("Theme") = ddlTheme.SelectedValue
5End If
6UpdateTheme() ' Store to database
刷新当前页以显示新的主题可以这么做:
Server.Transfer(Request.FilePath)
这样就可以实现主题的动态全局更换了,希望能给大家一些借鉴,如果有更好的方法,还请不吝赐教啊。
详细出处参考:/article/1275955.html
1. 数据库客户表有一个字段(暂时取名为Theme),专门记录客户喜欢的主题。
2. 当客户第一次登录后,网站呈现的是默认的主题模式,创建Session,查询数据库并为其赋值(当然对于新客户Theme字段有默认值为Default)。根据客户选择的主题不同,在更改网站的主题同时,将此主题存入数据库。以便再次登录后显示此主题。
那么关键的一点是如何可以动态得更改整个网站的主题呢?
我采用这个方案:
1. 创建一个从 System.Web.UI.Page 继承的 ThemePage 类,此类重写 OnPreInit 方法:
1Protected Overrides Sub OnPreInit()Sub OnPreInit(ByVal e As EventArgs)
2 MyBase.OnPreInit(e)
3
4 If Not Session("Theme") Is Nothing Then
5 Page.Theme = Session("Theme")
6 End If
7End Sub
8
2. 将其他所有的page页都继承自 ThemePage类,登录页可以除外。
3. 在切换主题页里这么处理:
1If ddlTheme.SelectedIndex = 0 Then
2 Session("Theme") = "Default" ' Use the default Theme
3Else
4 Session("Theme") = ddlTheme.SelectedValue
5End If
6UpdateTheme() ' Store to database
刷新当前页以显示新的主题可以这么做:
Server.Transfer(Request.FilePath)
这样就可以实现主题的动态全局更换了,希望能给大家一些借鉴,如果有更好的方法,还请不吝赐教啊。
详细出处参考:/article/1275955.html
相关文章推荐
- 如何在网站级别动态更改主题
- 如何在网站级别动态更改主题
- 如何在网站级别动态更改主题
- 如何用傲游浏览器屏蔽百度百科右侧烦人的动态图片,适用于任意网站(非强迫症患者可以不用看了)
- 织梦网站如何变成动态
- ASP.NET动态网站开发培训-38.互动论坛制作(六、制作主题发布页面)
- 如何更改网站的一些公共数据
- 网站导航栏如何实现动态效果
- 动态网站如何生成静态页面
- 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- 如何更改nginx网站根目录 以及解析php
- 如何自己动手建立最简单的动态网站
- 新闻发布系统 笔记1 当我们换了电脑 或者文件夹更改了地址 之后 如何打开 原来的网站系统
- 如何动态更改VC控件字体颜色
- next主题如何添加动态背景
- 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- 如何定义网站的主题和名称
- 如何在程序里动态更改app中的icon
- MOSS 2007应用日记(9)――如何更改网站结构调整子网站位置
- asp.net中动态更改网站的标题、描述、关键字、和样式表