建立和使用用户资料
ASP.NET2.0提供哦你了内置的用户资料管理功能----开发人员只需要对用户资料中应包含的内容进行配置即可。这些配置在web.config文件的<profile>中完成。
View Code
1 <system.web>
2 <profile>
3 <properties>
4 <add name="FavoriteTheme" defaultValue="主题1" type="String"/>
5 <add name="BirthDate" type="DateTime"/>
6 </properties>
7 </profile>
程序运行时,会为Page类动态添加Profile属性,该属性返回的是ProfileCommon类型的对象(从System.Web.Profile.ProfileBase继承)
在VS2008中,如果你新建的是web site的话,那么在你使用profile的时候,系统就会自动生成一个profileCommon类。但是,如果你使用的是web application的话,这个profileCommon类没有办法自动生成的
(建立Web Site的用法:)
(建立 Web Application项目的用法)
因为:这些代码只用于登录了的注册用户,如果需要对没有登录的用户保存用户资料值,可以通过在web.config添加下面的代码来显示地启用匿名身份。
<anonymousIdentification enabled="true"/>
然后,必须指定匿名用户能够使用哪些属性。可通过设置allowAnonymouse=true来达到这个效果。
<add name="FavoriteTheme" allowAnonymous="true" defaultValue="主题1" type="String"/>
如此,再运行,FavoriteTheme可以被赋值了!
现在,我们看看已注册用户的情况:先看看目前有哪些用户?(可以参考上篇博客 http://www.cnblogs.com/netxiaochong/archive/2011/12/25/2301024.html)
我们实现当下来选中某个用户的时候,获得这个用户相关的资料内容。ddlUsers.AutoPostBack设置为true
运行发现,仍然有异常,还是提示不能为匿名用户为BirthDate属性赋值。分析发现:Page_Load事件中,
第一次运行页面时,能访问该页面的总是匿名用户。需要对代码进行改动。
注意:图中阴影部分。测试运行没有异常!但是切换用户时,没有看到对应的用户资料!(出现逻辑错误! )
再次检查,进行相应修改:(如果保存的不是当前用户的资料,必须显示地调用ProfileCommon类提供的Save方法实现真正存储其他用户资料)
运行正常!如果需要给现有的数据库实现用户配置功能,可运行命令:
aspnet_regsql -E -S <ServerName> -A p -d <DatabaseName>
子曰:“学而时习之,不亦说乎!有朋自远方来,不亦乐乎!人不知而不愠,不亦君子乎!”
当来之世,经道灭尽,我以慈悲哀愍,特留此经止住百岁。其有众生,值斯经者,随意所愿,皆可得度。(南无阿弥陀佛)
道可道,非常道;名可名,非常名。
我常说,一个国家,一个民族,亡国都不怕,最可怕的是一个国 家和民族自己的根本文化亡掉了,这就会沦为万劫不复,永远不会翻身。---南怀瑾<国学大师>
当来之世,经道灭尽,我以慈悲哀愍,特留此经止住百岁。其有众生,值斯经者,随意所愿,皆可得度。(南无阿弥陀佛)
道可道,非常道;名可名,非常名。
我常说,一个国家,一个民族,亡国都不怕,最可怕的是一个国 家和民族自己的根本文化亡掉了,这就会沦为万劫不复,永远不会翻身。---南怀瑾<国学大师>