ASP.NET用户个性化设置Profile——匿名用户向注册用户迁移
2010-10-18 14:23
375 查看
在前面的例子当中,用户如果要使用Profile,可以有两种状态,一种是登陆后使用,另一种是不登陆匿名使用Profile。但是在一些电子商务应用中,往往用户在匿名状态中使用购物车,但是在结账的时候是要求登陆或是注册的。这就需要将用户匿名状态下添加进购物车的数据迁入用户登录后的购物车当中。要实现这种效果就必须编写代码才能实现:
在实现本例的过程中,关键是实现了ProfileModule类中的MigrateAnonymous事件。该事件在匿名用户登录时,且Profile中存在数据时触发。与其他事件不同的是,该事件处理程序必须在Global.asax文件中定义。
具体做法如下:
在项目中添加一个Global.asax文件,复制以下代码到文件当中
void Profile_MigrateAnonymous(object sender, ProfileMigrateEventArgs pe)
{
//取得该用户在匿名状态下的数据
ProfileCommon pc = Profile.GetProfile(pe.AnonymousID);
//判断购物车中是否添加了数据
if (pc.Cart.Count!=0)
{
//如果有数据,则将匿名状态下添加的商品添加到登陆后的购物车当中
//注意;Profile.Cart存放的是登陆后的数据
//pc.Cart是该用户在匿名状态下添加的数据
Profile.Cart = pc.Cart;
}
//删除匿名用户在aspnet_users表中的记录
Membership.DeleteUser(pe.AnonymousID);
//删除匿名用户Profile数据
ProfileManager.DeleteProfile(pe.AnonymousID);
//删除匿名用户标识
AnonymousIdentificationModule.ClearAnonymousIdentifier();
}
ok.就这么简单~~
在实现本例的过程中,关键是实现了ProfileModule类中的MigrateAnonymous事件。该事件在匿名用户登录时,且Profile中存在数据时触发。与其他事件不同的是,该事件处理程序必须在Global.asax文件中定义。
具体做法如下:
在项目中添加一个Global.asax文件,复制以下代码到文件当中
void Profile_MigrateAnonymous(object sender, ProfileMigrateEventArgs pe)
{
//取得该用户在匿名状态下的数据
ProfileCommon pc = Profile.GetProfile(pe.AnonymousID);
//判断购物车中是否添加了数据
if (pc.Cart.Count!=0)
{
//如果有数据,则将匿名状态下添加的商品添加到登陆后的购物车当中
//注意;Profile.Cart存放的是登陆后的数据
//pc.Cart是该用户在匿名状态下添加的数据
Profile.Cart = pc.Cart;
}
//删除匿名用户在aspnet_users表中的记录
Membership.DeleteUser(pe.AnonymousID);
//删除匿名用户Profile数据
ProfileManager.DeleteProfile(pe.AnonymousID);
//删除匿名用户标识
AnonymousIdentificationModule.ClearAnonymousIdentifier();
}
ok.就这么简单~~
相关文章推荐
- ASP.NET 2.0下实现匿名用户向注册用户的迁移(上) zhuan
- ASP.NET 2.0 及MVC下实现匿名用户向注册用户的迁移(上)
- ASP.NET 2.0下实现匿名用户向注册用户的迁移(下)
- ASP.NET用户个性化设置Profile——配置1
- ASP.NET用户个性化设置Profile——配置2
- ASP.NET用户个性化设置Profile——配置1 (转)
- ASP.NET 2.0下实现匿名用户向注册用户的迁移(下)
- ASP.NET用户个性化设置Profile——配置1
- ASP.NET用户个性化设置Profile——配置1
- ASP.NET用户个性化设置Profile——配置2
- ASP.NET用户个性化设置Profile——配置2 (转)
- ASP.NET用户个性化设置Profile——配置2
- Asp.Net 2.0的匿名用户的Profile
- Asp.net用户个性化配置(Profile)的使用要点
- Owin+ASP.NET Identity浅析系列(一)用户登录注册
- 温故知新ASP.NET 2.0(C#)(7) - Profile(存储用户配置)
- ASP.NET 实现注册用户 邮箱激活
- ASP.NET 2.0个性化配置(profile)
- 使用ASP.NET 2.0 Profile存储用户信息
- ASP.NET实现用户注册和验证功能(第4节)