• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

asp 搞代码 4年前 (2022-01-03) 17次浏览 已收录 0个评论
在做一个项目的时候,要求客户可以选择自己喜欢的主题。简单查了一下资料,思路上基本是这样的:
1. 数据库客户表有一个字段(暂时取名为Theme),专门记录客户喜欢的主题。
2. 当客户第一次登录后,网站呈现的是默认的主题模式,创建Session,查询数据库并为其赋值(当然对于新客户Theme字段有默认值为Default)。根据客户选来源gaodaima#com搞(代@码网择的主题不同,在更改网站的主题同时,将此主题存入数据库。以便再次登录后显示此主题。

那么关键的一点是如何可以动态得更改整个网站的主题呢?

我采用这个方案:
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主题的技术文章:
http://msdn2.microsoft.com/en-us/library/ms379601(VS.80).aspx
http://www.dedecms.com/web-art/Asp_Netjiaocheng/20060819/21832.html
http://www.codeproject.com/useritems/dynamicThemes.asp
http://www.codeproject.com/aspnet/ThemesAndSkins.asp

以上就是如何在网站级别动态更改主题的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何在网站级别动态更改主题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址