📄 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;
namespace EMall
{
/// <summary>
/// Summary description for ShoppingCart.
/// </summary>
public class ShoppingCart : System.Web.UI.Page
{
protected Pub pub = new Pub();
protected System.Web.UI.WebControls.DataGrid DataGrid1;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.Label lbTotal;
protected System.Web.UI.WebControls.ImageButton ImageButton1;
protected System.Web.UI.WebControls.Label lbMsg;
protected System.Web.UI.WebControls.Panel Panel1;
protected System.Web.UI.WebControls.ImageButton ImageButton2;
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
if (Page.IsPostBack == false)
{
BindData();
}
}
void BindData()
{
String CartID = pub.GetShoppingCartID();
DataGrid1.DataSource = pub.spShoppingCartList(CartID);
DataGrid1.DataBind();
DispInfo();
}
void DispInfo()
{
String CartID = pub.GetShoppingCartID();
if (DataGrid1.Items.Count == 0)
{
lbMsg.Text = pub.SiteName + " -- 购物清单 -- 暂时为空 -- 请继续购物 ";
Panel1.Visible = false;
}
else
{
lbMsg.Text = pub.SiteName + " -- 购物清单 -- 共有 " + DataGrid1.Items.Count.ToString() + " 个记录 -- 请继续购物 ";
Panel1.Visible = true;
lbTotal.Text = String.Format( "{0:c}", pub.spShoppingCartTotal(CartID));
}
}
void ShoppingCartUpdate()
{
String CartID = pub.GetShoppingCartID();
// 遍历 DataGird1 里的 txtQuantity 与 cbRemove 值
for (int i=0; i<DataGrid1.Items.Count; i++)
{
// 获取相关值
TextBox TxtQuantity = (TextBox) DataGrid1.Items[i].FindControl("txtQuantity");
CheckBox cbRemove = (CheckBox) DataGrid1.Items[i].FindControl("cbRemove");
int iQty;
// 保护异常
try
{
iQty = Int32.Parse(TxtQuantity.Text);
// 如果数量改变或者选中
if (iQty != (int)DataGrid1.DataKeys[i] || cbRemove.Checked == true)
{
Label lbProductID = (Label) DataGrid1.Items[i].FindControl("lbProductID");
if (iQty == 0 || cbRemove.Checked == true)
{
pub.spShoppingCartRemoveItem(CartID, Int32.Parse(lbProductID.Text));
}
else
{
pub.spShoppingCartUpdateQty(CartID, Int32.Parse(lbProductID.Text), iQty);
}
}
}
catch
{
lbMsg.Text = "系统提示: 您刚才至少有一处有输入错误.";
}
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click);
this.ImageButton2.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton2_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
ShoppingCartUpdate();
BindData();
}
private void ImageButton2_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
ShoppingCartUpdate();
if (DataGrid1.Items.Count > 0)
// 付款结帐前, 再次检查是否非空购物车, 然后并没作过多的处理, 而是直接转向订单确认页面
Response.Redirect("Checkout.aspx");
else
lbMsg.Text = "系统提示: 您当前的购物清单是空的, 所以, 您还无需进行结帐付款.";
}
private void Button1_Click(object sender, System.EventArgs e)
{
for(int i=0; i<DataGrid1.Items.Count; i++)
{
((CheckBox)DataGrid1.Items[i].Cells[0].FindControl("cbRemove")).Checked = true;
}
DispInfo();
}
private void Button2_Click(object sender, System.EventArgs e)
{
for(int i=0; i<DataGrid1.Items.Count; i++)
{
((CheckBox)DataGrid1.Items[i].Cells[0].FindControl("cbRemove")).Checked = false;
}
DispInfo();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -