profile 实现购物车 实例 (三)

  购物车的流程已经能然用户看的到了。但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 这个类是动态生成的,类库里是找不到这个类,。所以我对这个类的理解还不是很深刻。也不敢胡诌。

但代码这么写实没错的。这样就完成了匿名购物额车向实名用户的转化。

如果没做过的还是动起手来操作一下记忆才深刻。

可能有漏泄的地方,如果碰到问题欢迎大家一起来学习讨论。

都写了这么多了。看的人总得说两句鼓励下吧。

原文地址:https://www.cnblogs.com/cestbon/p/1669177.html