在一本书上看到一个示例他是放进一个Hashtable里面,,但是如果浏览器关掉后,是不是就会没有了呢???
解决方案 »
- window.close()方法有没有参数?如何使窗口自动关闭,不再弹出确认对话框?
- 保存到TFS中的数据,保存成功了,但是总是报错TF237161: 服务器操作超时或服务器未响应。请重试。
- sohigh,您的格式是如何控制的,另外能解释一下下面函数究竟如何执行的么,感觉和强类型语言的函数很不一样
- TREEVIEW 如何点中起父节点时,收起已经展开的父节点
- 如何根据一个数字,生成相对应数量的表格与文本框.并循环存入数据库?
- 执行excel.application.workbooks.open时,总是处于页面正在打开状态
- getJSON不执行回调函数
- 请问哪有 XMLHTTP,JAVASCRIPT 的资料啊
- 紧急!关于页面中有框架打印的问题
- 在一个Solution里面,一个工程如何调用另一个工程里面的usercontrol???
- 多用JAVASCRIPT有无益处
- 各位大哥,CODE-BEHIND 小弟不太明白,请指点下一!!!^-^
==================
你要自己序列化和反序列化,cookie只能保存字符串值,所以要把hashtable保存到cookie中,就必须把hashtable中的内容转换成字符串然后保存,在获取时再把字符串转换成hashtable
using System;
using System.Data;namespace Chris
{
/// <summary>
/// 购物车类
/// </summary>
public class ShopCart
{
public ShopCart()
{
} /// <summary>
/// 添加/更新商品
/// </summary>
/// <param name="sID">商品ID</param>
/// <param name="sCount">购买数目</param>
public void AddItem(string sID,int sCount)
{
DataTable shopCart = (DataTable)System.Web.HttpContext.Current.Session["ShopCart"];
if(shopCart != null)
{
//更新购物车
DataRow dr = shopCart.Rows.Find(sID);//shopCart.Rows.Find(new object[]{sID})
if(dr != null)
{
//商品存在,则更新
dr["sCount"] = sCount;
}
else
{
//商品不存在,添加
DataRow newItem = shopCart.NewRow();
newItem["sID"] = sID;
newItem["sCount"] = sCount;
}
}
else
{
//新建购物车
DataTable newShopCart = new DataTable();
newShopCart.Columns.Add("sID",System.Type.GetType("System.String"));
newShopCart.Columns.Add("sCount",System.Type.GetType("System.Int"));
newShopCart.PrimaryKey = new DataColumn[]{shopCart.Columns[0]};
newShopCart.AcceptChanges();
System.Web.HttpContext.Current.Session["ShopCart"] = newShopCart;
AddItem(sID,sCount);//此处调用正确吗???
}
shopCart.AcceptChanges();
System.Web.HttpContext.Current.Session["ShopCart"] = shopCart;
} /// <summary>
/// 删除商品
/// </summary>
/// <param name="sID">商品编号</param>
public void DeleteItem(string sID)
{
DataTable shopCart = (DataTable)System.Web.HttpContext.Current.Session["ShopCart"];
DataRow dr = shopCart.Rows.Find(sID);
dr.Delete();
shopCart.AcceptChanges();
System.Web.HttpContext.Current.Session["ShopCart"] = shopCart;
}
}
}
2、msdn上的例子是用DataTable,不过也是将他存到了Session变量中来操作。
楼主可以根据自己的情况来定采用哪个方式。
关掉浏览器还会存在一段时间.