快速业务通道

TheBeerHouse网站项目学习笔记(2)----个性化管理

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
ctForm和 ArticlesElement 映射的属性 ContactForm和 Articles各自的类型,这么说有些绕 口,有些难理解,那么请看如下Contact.aspx.cs页面的后台对这个属性的引用:

Globals.Settings.ContactForm.MailTo  
Globals.Settings.ContactForm.MailCC

Globals.Settings.ContactForm 返回 TheBeerHouseSection 下的属性ContactForm,而这个属性的类 型是由ContactFormElement这个类定义的,这就是它们之间的关系.上述关系弄清楚是我们理解个性化设置 的关键.

上述配置节映射到类属性的用意就是存储各种个性化信息到数据库,然后再配合配置节 <Profile>(下面介绍)就能完全控制匿名用户或注册用户的个性"记忆"功能.

通过Web.config的配置节进行声明各种个性类别,然而需要提供API对这些配置节进行访问,幸好MS为我 们提供了ConfigurationSection这个类,让我们能灵活控制配置节并用编码方式访问.

2. <profile>配置节概述

说它是概述,那是因为我们在本篇文章的开始提过的必备知识文章中对其进行了详细讨论,这里就介绍 起关联关系就可以了.

Web.config中整个 <system.web>......</system.web> 内容比较多,总体来说就是

(1)利用ASP.NET 2.0 内置的用户个性化管理功能(必备文章讨论)将用户的各种个性信息存入自定义数 据库,以达到个性信息的"记忆"功能,让每个用户无论是匿名还是注册,在他们下次登录或匿名 登录后仍然能得到自己上次的个性设置(比如网站皮肤,页面布局,注册时的各种个人信息等).

(2)匿名用户的管理

(3)注册用户的角色权限管理,即什么页面什么用户能访问的问题,或什么功能什么用户能使用的问 题.

三. 个性信息的加载和保存

上述讨论的两个论点都是为个性信息做的准备,具体代码运行的过程还是有必要解释一二的.

当我们单击主页右上注册按钮后,会进入Register.aspx页面,这个页面除了使用母版页外,还使用了 UserProfile.ascx这个用户控件,那么个性信息的存储读取全在此页面的后台代码实现.

此页面Page_Load事件和SaveProfile事件完成对个性化信息的加载和读取工作.还是以流程变化来说明 情况:

1. 先注册一个用户,这里我们注册一个名为 "martin" 密码为 "martin/"的用 户,注意注册页面是使用了MS提供的服务器控件CreateUserWizard,这个控件可以协助并提示我们完成用户 的注册任务,具体实现见代码,页面如下图:

TheBeerHouse网站项目学习笔记(2)----个性化管理

当我们注册成功后,信息会反映到数据库中,若使用如下语句就可以如下图:

select userid,username,isanonymous,lastactivitydate
from aspnet_users
order by lastactivitydate desc

TheBeerHouse网站项目学习笔记(2)----个性化管理

此时该注册用户最后活动的时间就是刚刚注册的时间.

2.完成注册后,进入如下页面:

TheBeerHouse网站项目学习笔记(2)----个性化管理

此页面就是设置注册用户的个性化信息的界面,随便填入信息,开始随便填写,比如就填写某部分就可以 了:

language:English Gender:Female Occupation:Artist country:China ,

我们就注册如下四条信息,看看在数据库中又会发生什么变化

select userid,username,isanonymous,lastactivitydate
from aspnet_users
order by lastactivitydate desc
select userid,propertynames,propertyvaluesstring,lastupdateddate
from aspnet_profile
order by lastupdateddate desc

TheBeerHouse网站项目学习笔记(2)----个性化管理

如上图:

通过上面两条命令我们可以看到,刚才定义的个人信息是保存在aspnet_profile表中的,而且值得更进 一步探究的就是这些个性的值是如何保存的,那么奥秘就在上述虚线方框的两个字段中,我们把这两个字段 copy出来看看:

propertynames 

:Website:S:0:0:Contacts.Fax:S:0:0:FirstName:S:0:0:Gender:S:0:1:Address.City:S:1:0:LastName:S

:1:0:
Preferences.Newsletter:S:1:82:Address.Street:S:83:0:Forum.Signature:S:83:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号