网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > .Net编程 > 正文

Profile实现购物车-Profile应用

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
上面我已经介绍过了Profile的配置和简单应用了<<简单配置与操作Profile>>,如果大家上面没有学会的话下面我在来做一下高级一点的应用,我会从一开始创建数据库与配置一步一步地在说一遍:

这们要完成一个这样的功能:一个购物车,能添加商品和删除商品的操作
要一个描述商品的类(ShopInfo.cs),一个购物车类(ShopCart.cs),和一个页面显示商品信息(default.aspx)

1. 这次我们先来创建数据库
在这个路径下:C:"WINDOWS"Microsoft.NET"Framework"v2.0.50727
v2.0.50727是跟据你的版本号解定的文件夹
这个下面有一个aspnet_regsql.exe进行运行-à配置指定的数据库

Aspnet_regsql.exe-à下一步-à下一步------à你的服务器的名字,用什么身份进行登录,可以在这里选择指定的数据库
这样就可以在指定的数据库中自动生成profile与登录控件要用的表了

2. 项目中在web.config中配置文件中配置 配置节
2.1数据连接字符串
<connectionStrings>
     <add name="KuConnectionString" connectionString="Data Source=localhost;Initial Catalog=ku;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
2.2 配置profile配置节
<profile defaultProvider="MySqlProfileProvider">
              <providers>
                   <add name="MySqlProfileProvider" connectionStringName="KuConnectionString" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </providers>
      <properties>
        <add name="userName" type="system.string" serializeAs="Binary"/>
        <add name="cartShop" type="ShopInfo" serializeAs="Binary"/>
      </properties>
         </profile>
   </system.web>
解释:
第一个<properties>配置节
defaultProvider="MySqlProfileProvider" 为当前默认的<Profile>中的配置这里用的
是我们自己配置的MySqlProfileProvider
connectionStringName="KuConnectionString"为2.1中的name(是数据库连接字符串的name)
下一个<properties>
<add name="userName" type="system.string" serializeAs="Binary"/>//type 为指定的类型
serializeAs="Binary"以什么类型存储(这里用的是以二进制存储)
<add name="cartShop" type="ShopCart" serializeAs="Binary"/>
这个type是我们要用到的购物车类名为这个类的类型,以二进制进行存储

3. 上面的是准备工作已经做好了那就开始做我们要实现的功能吧
3.1一个描述商品的一个类:ShopInfo.cs 这个类中只有一些商品的属性与它的get,set方法
代码:
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

[Serializable]
/// <summary>
///ShopInfo 的摘要说明
/// </summary>
public class ShopInfo
{
    private int _ID;//ID 商品的
    public int ID
    {
        get { return _ID; }
        set { _ID = value; }
    }

    private string _Name;//Name 商品的名字
    public string Name
    {
        get { return _Name; }
        set { _Name = value; }
    }

    private decimal _Price;//Price 商品的价格
    public decimal Price
    {
        get { return _Price; }
        set { _Price = value; }
    }

    private int _Count = 1;//Count 商品的数量
    public int Count
    {
        get { return _Count; }
        set { _Count = value; }
    }

//构造方法
    public ShopInfo(int id,string name,decimal price) {
        _ID = id;
        _Name = name;
        _Price = price;
    }

}

3.2一个描述购物车类:ShopCart.cs 这个类中是用来操作买商品与删除商品一系列的操作,这里我们用的是hashTable进行存储商品数据的
代码:
点击展开
4. 所有的都写好了现在就差显示页面了

一个显示商品的页面default.aspx
这里的数据我就不写了大致是:商品id,商品名,商品价格
之后呢,我用的是GridView控件显示的,要在显示控件上加一个选择按钮,把这个文本改成‘购买‘ 要用这个选择按钮的选择事件:SelectedIndexChanged 在这个事件中写上:
获取选中行的数据;
int id = int.Parse(gvGoodsInfo.SelectedDataKey.Value.ToString());
        string name = gvGoodsInfo.SelectedRow.Cells.Text;
        string prices = gvGoodsInfo.SelectedRow.Cells.Text;
        decimal price = decimal.Parse(prices);
        //开始放到Profile中(如果上面没有问题的话那你的数据库中就有选择的这些数据了)
        Profile.shopCart.ADDShop(id, name, price);
        BindShopCart();
非常简单吧:
还可以取出邦定到其它的控件就行显示如:
private void BindShopCart()  
    {
        if (Profile.shopCart == null)
        {
            Profile.shopCart = new ShopCart();
        }

        gvShopCart.DataSource = Profile.shopCart.HashShopCart;
        gvShopCart.DataBind();        
}

在这个GridView控件上也加一个选择按钮进行删除商品的操作:
protected void gvShopCart_SelectedIndexChanged(object sender, EventArgs e)
    {
        //gvShopCart的选择事件(删除商品)
        string id = this.gvShopCart.SelectedDataKey.Value.ToString();
        Profile.shopCart.Remove(int.Parse(id));
        this.BindShopCart();
}

这样一个简单的购物车就完成了,上面的还有很多功能不完善,希望你们自己去完善一下。
虽然购物车已经实现了,但只能是一个匿名用户的购物车,如果是一个登录用户那用的时候只能是购买一件商品了,这样肯定是不行的,那要怎样解决它呢,下次介绍一下<membership> 的配置与登录控件的一些操作。使用登录控件就可以轻松的解决了上诉的问题了
  • 上一篇资讯: 简单配置与操作Profile
  • 下一篇资讯: .NET环境下页面执行顺序
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师