TheBeerHouse 网站项目学习笔记(1)----换肤技术
2008-10-14 09:33
337 查看
对于ASP.NET学习的中期,TheBeerHouse 项目是一个不错的选择,这个项目几乎囊括了所有ASP.NET 2.0下所有的技术点,而且其设计的类图架构知识值得我们借鉴.关于此项目的介绍,在此不罗嗦,可以参看如下地址:
1. 源码下载: http://www.asp.net/Downloads/starter-kits/the-beer-house
2. 功能技术点介绍: http://www.codeplex.com/TheBeerHouse
3. 该项目真实网站: http://www.ericengler.com/ (该项目的总体界面可以在此处看到)using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Configuration;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace MB.TheBeerHouse.UI
3. Helper.cs说明
此类目前就提供一个方法GetThemes,该方法从App_Themes目录中动态获取里面所有的主题名称,并返回一个字符串数组,作为母版页上主题下拉框的数据源
4. ConfigSection.cs说明
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace MB.TheBeerHouse
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace MB.TheBeerHouse.UI
其实换肤并且下次在启动可以自动记住上次换肤的结果的关键代码就是上面代码的如下语句:
this.Theme = this.Request.Form[id]; (1)
(HttpContext.Current.Profile as ProfileCommon).Preferences.Theme = this.Theme; (2)
this.Theme = (HttpContext.Current.Profile as ProfileCommon).Preferences.Theme; (3)
前两条语句和第三条语句分别位于If和Else中, (1) 用于将下拉框选择的值赋予当前页面的主题属性
(2)用于保存当前主题到个性配置中(关于个性配置知识点请参考我有关权限管理的两篇文章以及本学习笔记的下一篇),以便下次运行具有记忆主题的作用,此语句在(3)中实现
而页面在第一次匿名启动时用到的主题是在Web.Config中配置节
<pages theme="TemplateMonster" masterPageFile="~/Template.master"/> 中实现的.
这篇就介绍到这里,其实很多知识点还是自己边运行边理解的,由于本人表达能力有限,所以显得有些罗嗦,希望对些许人有帮助.就其价值而言,这些讨论其实还是有些表面工作的意思,因为毕竟我们还是在讨论应用级别的论题,也就是强调会的角度,而理论理解的东西可以参考博客园里排名靠前的牛人们的见解.
下篇我们将继续讨论本网站的权限管理,请关注的朋友先参考我本人如下的两篇技术文章,因为它们是理解权限管理的基础:
/article/7137964.html
/article/7137965.html
1. 源码下载: http://www.asp.net/Downloads/starter-kits/the-beer-house
2. 功能技术点介绍: http://www.codeplex.com/TheBeerHouse
3. 该项目真实网站: http://www.ericengler.com/ (该项目的总体界面可以在此处看到)using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Configuration;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace MB.TheBeerHouse.UI
3. Helper.cs说明
此类目前就提供一个方法GetThemes,该方法从App_Themes目录中动态获取里面所有的主题名称,并返回一个字符串数组,作为母版页上主题下拉框的数据源
4. ConfigSection.cs说明
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace MB.TheBeerHouse
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace MB.TheBeerHouse.UI
其实换肤并且下次在启动可以自动记住上次换肤的结果的关键代码就是上面代码的如下语句:
this.Theme = this.Request.Form[id]; (1)
(HttpContext.Current.Profile as ProfileCommon).Preferences.Theme = this.Theme; (2)
this.Theme = (HttpContext.Current.Profile as ProfileCommon).Preferences.Theme; (3)
前两条语句和第三条语句分别位于If和Else中, (1) 用于将下拉框选择的值赋予当前页面的主题属性
(2)用于保存当前主题到个性配置中(关于个性配置知识点请参考我有关权限管理的两篇文章以及本学习笔记的下一篇),以便下次运行具有记忆主题的作用,此语句在(3)中实现
而页面在第一次匿名启动时用到的主题是在Web.Config中配置节
<pages theme="TemplateMonster" masterPageFile="~/Template.master"/> 中实现的.
这篇就介绍到这里,其实很多知识点还是自己边运行边理解的,由于本人表达能力有限,所以显得有些罗嗦,希望对些许人有帮助.就其价值而言,这些讨论其实还是有些表面工作的意思,因为毕竟我们还是在讨论应用级别的论题,也就是强调会的角度,而理论理解的东西可以参考博客园里排名靠前的牛人们的见解.
下篇我们将继续讨论本网站的权限管理,请关注的朋友先参考我本人如下的两篇技术文章,因为它们是理解权限管理的基础:
/article/7137964.html
/article/7137965.html
相关文章推荐
- [转]TheBeerHouse 网站项目学习笔记(1)----换肤技术
- TheBeerHouse 网站项目学习笔记(5)---架构设计
- TheBeerHouse 网站项目学习笔记(3)----安全管理(上)
- TheBeerHouse 网站项目学习笔记(2)----个性化管理
- TheBeerHouse 网站项目学习笔记(4)----安全管理(下)
- 大数据技术学习笔记之网站流量日志分析项目:Flume日志采集系统1
- 学习使用epoll - The time is passing - ITeye技术网站
- 学习笔记4:《大型网站技术架构 核心原理与案例分析》之 大型网站核心架构要素
- 学习笔记2:《大型网站技术架构 核心原理与案例分析》之 大型网站架构演化
- 《大型网站技术架构》学习笔记-02架构篇
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第4章 scrapy爬取知名技术文章网站(1)
- Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍
- Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析
- Python学习网站(简明python教程,The Python Tutorial,Python学习笔记,啄木鸟社区)
- 【zt】PWS、TheBeerHouse、PetShop 4.0、DNN学习收藏整理
- 大型网站技术架构的学习笔记(一)
- Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析
- 《大型网站技术架构》学习笔记
- Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗
- Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍