📄 shoppingcart.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using shop.DbBase;
using System.Text;
//该源码下载自www.51aspx.com(51aspx.com)
namespace shop
{
/// <summary>
/// shoppingCart 的摘要说明。
/// </summary>
public class shoppingCart : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid myGrid;
protected System.Web.UI.WebControls.ImageButton imgUpdateCart;
protected System.Web.UI.WebControls.Label lblSum;
protected System.Web.UI.WebControls.ImageButton imgBtnClear;
#region 自定义私有变量
private double dSum;
//private string sProductId;
#endregion
private void Page_Load(object sender, System.EventArgs e)
{
// 获得商品的信息
UpdateCart();
}
private void UpdateCart()
{
#region Version 1.0
/*
dSum = 0;
Hashtable oHT = (Hashtable)Session["ProductInCart"];
IDictionaryEnumerator oIDE = oHT.GetEnumerator();
Hashtable oHTNum = new Hashtable();
StringBuilder sbSql = new StringBuilder();
sbSql.Append("Select ProductId,PName,PMemberPrice,1 from product where ProductId in (");
while(oIDE.MoveNext())
{
sbSql.Append(oIDE.Key.ToString()+",");
oHTNum.Add(oIDE.Key.ToString(),oIDE.Value.ToString());
}
sbSql.Remove(sbSql.Length - 1,1);
sbSql.Append(")");
DataSet oDS = OleBase.ExecuteSql4Ds(sbSql.ToString());
foreach(DataRow oDR in oDS.Tables[0].Rows)
{
oDR.ItemArray[3] = oHTNum[oDR.ItemArray[0]].ToString();
dSum += double.Parse(oDR.ItemArray[2].ToString())*int.Parse(oDR.ItemArray[3].ToString());
}
*/
#endregion
//新建数据表
DataTable oDT = new DataTable();
oDT.Columns.Add("ProductId");
oDT.Columns.Add("PName");
oDT.Columns.Add("PMemberPrice");
oDT.Columns.Add("PNumber");
dSum = 0;
//判断购物车中是否存在数据
if(!object.Equals(Session["ProductInCart"],null))
{
Hashtable oHT = (Hashtable)Session["ProductInCart"];
IDictionaryEnumerator oIDE = oHT.GetEnumerator();
DataRow oDR;
while(oIDE.MoveNext())
{
oDR = oDT.NewRow();
//定义一个sql查询语句
string sSql = "Select ProductId,PName,PMemberPrice from product where ProductId=" + oIDE.Key.ToString();
//调用类中的方法
DataSet oDS = OleBase.ExecuteSql4Ds(sSql);
oDR["ProductId"] = oDS.Tables[0].Rows[0].ItemArray[0].ToString();
oDR["PName"] = oDS.Tables[0].Rows[0].ItemArray[1].ToString();
oDR["PMemberPrice"] = oDS.Tables[0].Rows[0].ItemArray[2].ToString();
oDR["PNumber"] = oIDE.Value.ToString();
//获得商品的总额
dSum += double.Parse(oDR["PMemberPrice"].ToString())*int.Parse(oDR["PNumber"].ToString());
oDT.Rows.Add(oDR);
}
}
//设置myGrid的数据源
myGrid.DataSource = oDT.DefaultView;
//绑定myGrid
myGrid.DataBind();
//将商品的总额绑定到lblSum控件上
lblSum.Text = dSum.ToString();
}
private void imgUpdateCart_Click(object sender,ImageClickEventArgs e)
{
Label oLblProductId;
TextBox oTxtNumber;
CheckBox oChkRemove;
//判断购物中是否存在数据
if(!object.Equals(Session["ProductInCart"],null))
Session.Remove("ProductInCart");
Session["ProductInCart"] = new Hashtable();
for(int i=0;i<myGrid.Items.Count;i++)
{
oLblProductId = (Label)myGrid.Items[i].FindControl("lblProductId");
oTxtNumber = (TextBox)myGrid.Items[i].FindControl("txtNumber");
oChkRemove = (CheckBox)myGrid.Items[i].FindControl("chkRemove");
if(!oChkRemove.Checked)
((Hashtable)Session["ProductInCart"]).Add(oLblProductId.Text,oTxtNumber.Text);
}
//重新绑定
UpdateCart();
}
private void imgBtnClear_Click(object sender,ImageClickEventArgs e)
{
Session.Remove("ProductInCart");
UpdateCart();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.imgUpdateCart.Click += new System.Web.UI.ImageClickEventHandler(this.imgUpdateCart_Click);
this.imgBtnClear.Click += new System.Web.UI.ImageClickEventHandler(this.imgBtnClear_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -