手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >如何在网站级别动态更改主题
如何在网站级别动态更改主题
摘要:在做一个项目的时候,要求客户可以选择自己喜欢的主题。简单查了一下资料,思路上基本是这样的:1.数据库客户表有一个字段(暂时取名为Theme)...

在做一个项目的时候,要求客户可以选择自己喜欢的主题。简单查了一下资料,思路上基本是这样的:

1.数据库客户表有一个字段(暂时取名为Theme),专门记录客户喜欢的主题。

2.当客户第一次登录后,网站呈现的是默认的主题模式,创建Session,查询数据库并为其赋值(当然对于新客户Theme字段有默认值为Default)。根据客户选择的主题不同,在更改网站的主题同时,将此主题存入数据库。以便再次登录后显示此主题。

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

我采用这个方案:

1.创建一个从System.Web.UI.Page继承的ThemePage类,此类重写OnPreInit方法:

1ProtectedOverridesSubOnPreInit()SubOnPreInit(ByValeAsEventArgs)

2MyBase.OnPreInit(e)

3

4IfNotSession("Theme")IsNothingThen

5Page.Theme=Session("Theme")

6EndIf

7EndSub

8

2.将其他所有的page页都继承自ThemePage类,登录页可以除外。

3.在切换主题页里这么处理:

1IfddlTheme.SelectedIndex=0Then

2Session("Theme")="Default"'UsethedefaultTheme

3Else

4Session("Theme")=ddlTheme.SelectedValue

5EndIf

6UpdateTheme()'Storetodatabase

刷新当前页以显示新的主题可以这么做:

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

【如何在网站级别动态更改主题】相关文章:

asp.net 2.0多语言网站解决方法

ASP.NET中文件上传下载方法集合

ASP.net(c#)用类的思想实现插入数据到ACCESS例子

如何将数据绑到gridview然后导成excel

如何在DataGrid控件中实现自定义分页

asp.net在后端动态添加样式表调用的方法

在Asp.net用C#建立动态Excel

asp.net Linq把数据导出到Excel的代码

gridview自动排序示例分享

.Net 如何限制用户登录的方法

精品推荐
分类导航