如何用Hashtable做修改购买产品数量的功能?

来源:百度知道 编辑:UC知道 时间:2024/09/28 06:44:55
在在线购物系统中(问题在第3点,请先看我前两点思路)
1、用Hashtable实现添加到购物车的功能已做好,代码如下:
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName=="AddToBus")
{ string petID=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();//获取控件里的主键

if(Session["bus"]==null)//如果还没购买,购物车为空的话
{
System.Collections.Hashtable ht=new Hashtable();

ht.Add(petID,1);
Session["bus"]=ht;
//Session.Add("bus",ht);

}
else //购物车存在,再判断所购商品是否存在
{
System.Collections.Hashtable ht=(Hashtable)Session["bus"];
//获取购物车的值
if(ht[petID]==null)//如果当前所点产品没有购买过
{
ht[petID]=1;
}
else //如果已经买过,则在已有值的基础上添加一件
{
ht[petID]=(int)ht[petID]+1;
}
Session["bus"]=ht;
}

给我看看你代码怎么写的.给我留言.

-------------------------------------------
DataTable dt = new DataTable("BusTable");
dt = (DataTable)Session["Bus"];
int pn = dt.Rows.Count;
for (int i = 0; i < this.DataGrid1.Items.Count; i++)
{
TextBox CountText = (TextBox)this.DataGrid1.Items[i].FindControl("TextBox1 ");
dt.Rows[i]["Count"] = CountText.Text;

}
Session["Bus"] = dt;
this.DataGrid1.DataSource = (DataTable)Session["Bus"];
this.DataGrid1.DataBind();

要修改购买数量直接做一个增加和减少的按扭!计算时用金额*数量!不就OK!何必要获取文本框中的值呢!

ht[petID]=数量;