使用Session + Dictionary实现“购物车”功能 Session、Dictionary介绍 Session对象存储特定用户会话所需的信息。Session对象是在每一位访问者从Web站点或Web应用程序中首次请求一个ASP页时创建的,它将保留到默认的期限结束或通过脚本设置中止的期限。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。利用Session的功能,可以将购物信息(商品ID和购买数量)存储到Session变量中。 为了更加灵活实现的“购物车”,设计过程中可以引进Dictionary对象。Dictionary 对象与关联数组是等价的,Dictionary对象用于数组,可以存储key/item数据对,其中key的值是惟一的,而item的值可以重复,且item项与key项相关联。这样key可以用来存储购买商品的ID,而item则可以存储购买商品的数量。 设计与实现 (1)放商品入“购物车” 将商品ID和数量写入到Dictionary中,使用的方法是Add。该方法用于向Dictionary对象添加键和项目。格式: key , item 判断是否存在Session("cart"),不存在则创建一个Session("cart")对象 <% If Not IsObject (Session ("cart")) Then Set Session ("cart")= ("") End If %> 将Session("cart")展开一个本地副本调用。 <% Set Cart=Session("cart") %> 如果该商品的ID不存在,则可以使用Dictionary对象的Add方法将商品的编号(ProductID)和购买的数量Num写入到Cart中。 <% If Not (ProductID) Then ProductID,Num End If %> 接着再将修改后的本地副本整体赋值给Session ("cart") <% Set Session ("cart")=Cart %> (2)查看“购物车”中商品 将Session ("cart")中的商品ID获取后,从商品表中获取相应商品信息。可以采用将Session ("cart")中的数据组分别赋值给Keys(商品ID组)和Items (商品数量组)这2个变量。 <% Set Cart=Session ("cart") Keys= Items= %> 接着可以使用循环语句显示用户购买的商品和数量以及总价等信息。 <% For I = 0 To -1 %> Dim prodid prodid= keys(i) Set Rs = ("") ssql= "SELECT *