购物车的流程已经能然用户看的到了。但profile 也能记录匿名用户的购买记录
这里就有了两个问题,。1.是匿名用户能付款吗?2.匿名用的购物车怎么向实名用户转化。
现在我们就来解决这两个问题
1。匿名用户付款问题。
一般流程就是。如果是实名用户,那我就放他直接跳转到付款的页面。如果是匿名用户。即这个用户还没有登录网站。那么在他访问这个
付款的页面的时候我们就让他跳转到登录的页面。当他登录以后我们就把他的米明购物城转到的他的实名用户下。并消除刚刚产生的匿名用户的购物车
首先。我吧这个Account.aspx这个页面放大令一个文件夹Account文件夹。
这个问题请参看Mebership那一篇的描述。这里不在缀述
在这个Account 的文件夹里面放入一个Web.config这样一个配置文件
配置文件下。在 <system>节下添加这样的代码
<authorization>
<deny users="?"/>
</authorization>
无疑意思是拒绝匿名用户。那么如果匿名用户访问这个文件夹里的页面的时候。就会触发mbership节的配置、把你带到了登录页面。
2.购物车的转化
处理Global.asax则个文件下的一个事件
代码
protected void Profile_MigrateAnonymous(object s,ProfileMigrateEventArgs e)
{
ProfileCommon anonProfile = Profile.GetProfile(e.AnonymousID );
foreach (CartItem ci in anonProfile.ShoppingCart.CartItems)
{
Profile.ShoppingCart.AddCartItem(ci);
}
ProfileManager.DeleteProfile(e.AnonymousID );
AnonymousIdentificationModule.ClearAnonymousIdentifier();
Profile.Save();
}
{
ProfileCommon anonProfile = Profile.GetProfile(e.AnonymousID );
foreach (CartItem ci in anonProfile.ShoppingCart.CartItems)
{
Profile.ShoppingCart.AddCartItem(ci);
}
ProfileManager.DeleteProfile(e.AnonymousID );
AnonymousIdentificationModule.ClearAnonymousIdentifier();
Profile.Save();
}
ProfileCommon 这个类是动态生成的,类库里是找不到这个类,。所以我对这个类的理解还不是很深刻。也不敢胡诌。
但代码这么写实没错的。这样就完成了匿名购物额车向实名用户的转化。
如果没做过的还是动起手来操作一下记忆才深刻。
可能有漏泄的地方,如果碰到问题欢迎大家一起来学习讨论。
都写了这么多了。看的人总得说两句鼓励下吧。