Session+Hashtable实现购物车

本程序中以下测试环境中成功运行:Vistual Studio 2005+Sql Server 2005+Castle 2.0

主要内容:

1.Hashtable简介

2.购物车实现方式

3.购物车截图

一、Hashtable简介

在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类 似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key 的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值 对。

在哈希表中添加一个key/value键值对:HashtableObject.Add(key,value);

在哈希表中去除某个key/value键值对:HashtableObject.Remove(key);

从哈希表中移除所有元素:      HashtableObject.Clear();

判断哈希表是否包含特定键key:   HashtableObject.Contains(key);

二、购物车实现方式

首先先明确一下,购物车中需要保存哪些东西?我觉得只需保存商品ID和商品数量就可以了,为什么 呢?因为商品信息是保存在数据库中的,所以只需保存了商品ID就可以从数据库中检索到商品的其它信息 ,如商品名、商品单价等。至于保存商品数量我想不需要解释了吧。

根据购物车中需要保存的内容再结合Hashtable的特点,所以选用Hashtable来保存购物车信息是比较 不错的选择,其中key值为商品ID,value值为商品数量,两者都为int类型。

本购物车系统中,购物车页面为Vehicle.aspx,该页面用来处理购物车的基本操作和显示购物车,每 次访问该页面时应传入两个参数:id和opt。其中id为要购买的商品ID,opt是对商品的操作,如增加、减 少、删除等。当id和opt值都为0时为查看购物车。

购物车的一些基本操作:

a)、购买商品

需要注意的地方:当购买商品时应判断购物车是是否已有同类商品,若有则只需要商品原有数量上递 增1即可,若无只需添加一条新的数量为1的商品信息;

b)、增加已购买商品数量

c)、减少已购买商品数量

需要注意的地方:当减少商品数量时,若商品数量为0则应删除此类商品;

时间: 2024-09-12 08:10:36

Session+Hashtable实现购物车的相关文章

asp.net基于HashTable实现购物车的方法_实用技巧

本文实例讲述了asp.net基于HashTable实现购物车的方法.分享给大家供大家参考,具体如下: //用户购买商品时 if (e.CommandName.ToLower() == "buy") { //判断用户购物车是否为空 如果为空则分配一个 Hashtable table; if (Session["car"] == null) { table = new Hashtable(); } else { //用户购物车己存在 则取出数据 table = Sess

利用Session和HashTable制作购物车

session|购物车 1private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)//假设前面购买命令是一个命令名为buy的LinkButton 2        {//关键,建立和加如购物车 3            string pid=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();/

asp.net利用Session和HashTable制作购物车

1private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)//假设前面购买命令是一个命令名为buy的LinkButton 2 {//关键,建立和加如购物车 3 string pid=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();//取出宠物编号 4 if(e.CommandName=="b

求大神们指点-用session做购物车的具体实现

问题描述 用session做购物车的具体实现 GridView 做购物车时用session怎么做,要具体代码,如果用Cookie做简单还是用session做简单 解决方案 Cookie做简单点吧! //写cookies function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = nam

java Session的购物车的示例

session购物车例子一  代码如下 复制代码 package cn.com.shopping; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletReques

类似购物车的功能!

问题描述 用Repeater绑定一组值和一个BUTTON,点击button时把这个值传给另一个Repeater!ok这都不难实现,现在我要做的是第二个Repeater要保存以前的值就是说想购物车一样添加几个显示几个.这个怎么来实现.希望大家给点例子或提示! 解决方案 解决方案二:用cookie保存:以前做过一个非常完整的购物车http://www.cnblogs.com/Csharp-net/archive/2007/11/15/960268.html购物车之服务器端操作Cookie实例http

购物车范例(转)(购物车页面 )

购物车|页面 <!--checkbag.asp--> <!--shoppingcart page--> <%      response.expires = 0    response.expiresabsolute = Now() - 1    response.addHeader "pragma","no-cache"    response.addHeader "cache-control","pri

购物车范例(购物车页面 )

<!--checkbag.asp--> <!--shoppingcart page--> <%      response.expires = 0    response.expiresabsolute = Now() - 1    response.addHeader "pragma","no-cache"    response.addHeader "cache-control","private&qu

关于Global.asa文件的深入研究与session变量失效提示的具体方法

一:Global.asa文件的释疑!从字面上讲!Global就是全局的,全球的意思!    我们都知道!浏览器中的变量存活期十分短暂!只有几十秒!也就是一个页面的下载时间.那么我们怎样从生命开始到结束都追踪session级变量哪?靠asp文件已经力不从心了!微软告诉我们:靠我们的Global.asa吧!    global.asa是一个可选的文件!他必须放在你的www根目录下,或是虚拟目录的根目录下.这样,可以确保你的一个应用程序共享一个global.asa文件.正是他可以在你的应用程序开始始终