源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

如何在网站级别动态更改主题

  • 时间:2020-06-19 14:25 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:如何在网站级别动态更改主题
在做一个项目的时候,要求客户可以选择自己喜欢的主题。简单查了一下资料,思路上基本是这样的: 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) 这样就可以实现主题的动态全局更换了,希望能给大家一些借鉴,如果有更好的方法,还请不吝赐教啊。 另外附一些关于ASP.NET主题的技术文章: [url=http://msdn2.microsoft.com/en-us/library/ms379601(VS.80).aspx]http://msdn2.microsoft.com/en-us/library/ms379601(VS.80).aspx[/url] [url=http://www.dedecms.com/web-art/Asp_Netjiaocheng/20060819/21832.html]http://www.dedecms.com/web-art/Asp_Netjiaocheng/20060819/21832.html[/url] [url=http://www.codeproject.com/useritems/dynamicThemes.asp]http://www.codeproject.com/useritems/dynamicThemes.asp[/url] [url=http://www.codeproject.com/aspnet/ThemesAndSkins.asp]http://www.codeproject.com/aspnet/ThemesAndSkins.asp[/url]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部