• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > 如何在网站级别动态更改主题

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了动态管控级别,动态风险级别,网站级别,网站级别分类,网站级别查询等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
在做一个项目的时候,要求客户可以选择自己喜欢的主题。简单查了一下资料,思路上基本是这样的:
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主题的技术文章:
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 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2017-05-11ASP.NET 2.0中的数据操作之九:跨页面的主/从报表
  • 2018-08-20ASP.NET Core优雅的在开发环境保存机密(User Secrets)
  • 2017-05-11Datalist控件使用存储过程来分页实现代码
  • 2017-05-11ASP.NET使用xslt将xml转换成Excel
  • 2017-05-11ASP.NET设计网络硬盘之删除文件夹实现代码
  • 2017-05-11详解ASP.NET验证码的生成方法
  • 2017-05-11.net实现微信公众账号接口开发实例代码
  • 2017-05-11ASP.NET中制作各种3D图表的方法
  • 2017-05-11.net后台页面统一验证是否登录
  • 2017-05-11ASP.NET笔记之CKEditor的使用方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ASP.NET C#生成下拉列表树实现代码
    • ASP.NET2.0数据库入门之SQL Server
    • asp.net Linq把数据导出到Excel的代码
    • DataList 中动态绑定服务器子控件的代码
    • 在ASP.NET Core中实现一个Token base的身份认证实例
    • asp.net repeater实现批量删除第1/2页
    • litjson读取数据示例
    • 排除JQuery通过HttpGet调用WebService返回Json时“parserror”错误
    • asp.net(c#)不可访问,因为它受保护级别限制
    • asp.net C# 时间间隔的计算方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有