• 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 这个类是动态生成的,类库里是找不到这个类,。所以我对这个类的理解还不是很深刻。也不敢胡诌。

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

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

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

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

  • 相关阅读:
    Windows Server 2008 R2 实现多用户连接远程桌面
    增加远程登录用户登陆个数
    Win2008R2PHP5.4环境加载Zend模块
    Windows 和  Linux 下 禁止ping的方法
    Windows 2003 FastCgi安装环境
    Windows2008下搭建NFS实现windows空间提供linux使用
    Spring + JdbcTemplate + JdbcDaoSupport examples
    Spring Object/XML mapping example
    Spring AOP + AspectJ in XML configuration example
    Spring AOP + AspectJ annotation example
  • 原文地址:https://www.cnblogs.com/cestbon/p/1669177.html
Copyright © 2020-2023  润新知