最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

asp.net基于HashTable实现购物车的方法

来源:懂视网 责编:小采 时间:2020-11-27 22:37:55
文档

asp.net基于HashTable实现购物车的方法

asp.net基于HashTable实现购物车的方法:本文实例讲述了asp.net基于HashTable实现购物车的方法。分享给大家供大家参考,具体如下: //用户购买商品时 if (e.CommandName.ToLower() == buy) { //判断用户购物车是否为空 如果为空则分配一个 Hashtable table; if (Sessi
推荐度:
导读asp.net基于HashTable实现购物车的方法:本文实例讲述了asp.net基于HashTable实现购物车的方法。分享给大家供大家参考,具体如下: //用户购买商品时 if (e.CommandName.ToLower() == buy) { //判断用户购物车是否为空 如果为空则分配一个 Hashtable table; if (Sessi

本文实例讲述了asp.net基于HashTable实现购物车的方法。分享给大家供大家参考,具体如下:

//用户购买商品时
if (e.CommandName.ToLower() == "buy") 
{
 //判断用户购物车是否为空 如果为空则分配一个
 Hashtable table;
 if (Session["car"] == null)
 {
 table = new Hashtable();
 }
 else
 {
 //用户购物车己存在 则取出数据
 table = Session["car"] as Hashtable;
 }
 //如果用户购物车中不包括该商品信息 则添加一个新商品
 if (!table.Contains(e.CommandArgument))
 {
 table.Add(e.CommandArgument, 1);//添加一个新商品 数量为1
 }
 else 
 {
 //如果购物车己存在该商品信息 则将该商品的数量加1 根据HashTable的键获取相对应的值
 int count = Convert.ToInt32(table[e.CommandArgument].ToString());
 //给该商品数量加上1
 table[e.CommandArgument] = (count + 1);
 }
 //保存商品信息
 Session["car"] = table;
 Response.Redirect("shoppingcar.aspx");
}
//商品信息列表
private void shoplist()
{
 Hashtable table;
 if (Session["car"] == null)
 {
 table = new Hashtable();
 }
 else
 {
 table = Session["car"] as Hashtable;
 }
 if (table.Count == 0)
 {
 Image13.Visible = true;
 Msg.Visible = true;
 Msg.Text = "<b style="color:red" mce_style="color:red">您还没有购物呢?赶快购物吧!</b>";
 }
 string[] Arrkey = new string[table.Count];
 int[] ArrVal = new int[table.Count];
 table.Keys.CopyTo(Arrkey, 0);
 table.Values.CopyTo(ArrVal, 0);
 //定义字符串 形成 ('1,2,3')
 string Products = "('";
 int k = 0;
 for (int j = 0; j < Arrkey.Length; j++)
 {
 if(k>0)Products += "','"; k++;
 Products += Arrkey.GetValue(j).ToString();
 }
 Products += "')";
 DataSet ds = productbll.GetInfoByWhere(" pid in " + Products);
 DataTable Table1 = new DataTable();
 Table1 = ds.Tables[0];
 Table1.Columns.Add(new DataColumn("shuliang", System.Type.GetType("System.Int32")));
 //得到pid的值 并将它设置为Table1的主键
 DataColumn[] keys = { Table1.Columns["pid"]};
 Table1.PrimaryKey = keys;
 foreach (string key in table.Keys)
 {
 Table1.Rows.Find(key)["shuliang"] = table[key];//根据键获取值 商品的数量
 }
 Table1.Columns.Add(new DataColumn("zongjia", System.Type.GetType("System.Double"), "hotprice*shuliang"));
 for (int n = 0; n < Table1.Rows.Count; n++) 
 {
 tPrice +=Convert.ToDouble(Table1.Rows[n]["zongjia"]);
 }
 Label1.Text = tPrice.ToString();
 Session["total"] = Label1.Text.ToString();
 MyGrid.DataSource = Table1.DefaultView;
 MyGrid.DataBind();
}
#region 从购物车中删除一条商品信息
protected void MyGrid_RowCommand(object sender, GridViewCommandEventArgs e)
{
 Hashtable table;
 if (Session["car"] == null)
 {
 table = new Hashtable();
 }
 else
 {
 table = Session["car"] as Hashtable;
 }
 //如果点击删除按钮 则从购物车中移除该商品信息
 if (e.CommandName.ToLower() == "delete")
 {
 if (table.ContainsKey(e.CommandArgument))
 {
 //从HashTable中移除该商品的信息(商品编号) 键:为商品编号 值为:商品数量
 table.Remove(e.CommandArgument);
 }
 Msg.Text = (string)e.CommandArgument;
 }
 Session["car"] = table;
 //调用方法
 shoplist();
}
#endregion

希望本文所述对大家asp.net程序设计有所帮助。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

asp.net基于HashTable实现购物车的方法

asp.net基于HashTable实现购物车的方法:本文实例讲述了asp.net基于HashTable实现购物车的方法。分享给大家供大家参考,具体如下: //用户购买商品时 if (e.CommandName.ToLower() == buy) { //判断用户购物车是否为空 如果为空则分配一个 Hashtable table; if (Sessi
推荐度:
标签: 购物车 net table
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top