手机
当前位置:查字典教程网 >编程开发 >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获取网站目录物理路径示例

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

asp,asp.net学习教程下载

ASP.NET2.0服务器控件之Render方法

如何合并多个 .NET 程序集

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

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

使用HttpWebRequest向网站模拟上传数据

ASP.NET AJAX 1.0 RC开发10分钟图解

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

精品推荐
分类导航