📄 addtocart.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 BookShop
{
/// <summary>
/// AddToCart 的摘要说明。
/// </summary>
public class AddToCart : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid dg_Cart;
protected System.Web.UI.WebControls.HyperLink hl_Exit;
protected System.Web.UI.WebControls.Button btn_CleanCart;
protected System.Web.UI.WebControls.Button btn_PutOrder;
protected System.Web.UI.WebControls.Literal ErrMsg;
Hugo.Book myBook=new Hugo.Book();
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
int BookId;
HttpCookie cookie;
bool tempbl=false;
ErrMsg.Visible =false;
string tempstr;
if(!IsPostBack)
{
if(Object.Equals(Session["UserName"],null))
{
Response.Redirect("Error.aspx");
}
else
{
if(!Object.Equals(Request.QueryString["BookId"],null))
{
BookId=int.Parse(Request.QueryString["BookId"].ToString());
if(Object.Equals(Request.Cookies["HugoShopBookCart"],null))
{
cookie = new HttpCookie("HugoShopBookCart");
}
else
cookie=Request.Cookies["HugoShopBookCart"];
for(int i=0;i<cookie.Values.Count;i++)
{
if(!Object.Equals(cookie.Values.AllKeys[i],null))
{
tempstr=cookie.Values.AllKeys[i].ToString();
if(tempstr.Trim()!="")
{
if(BookId==int.Parse(cookie.Values.AllKeys[i]))
{
tempbl=true;
break;
}
}
}
}
if(!tempbl)
{
cookie.Values.Add(BookId.ToString(),"1");
}
else
{
ShowErrMsg("Cart Have This Book,Please Change It's Number.");
}
TimeSpan ts = new TimeSpan(0,0,10,0);
cookie.Expires=DateTime.Now + ts;
Response.AppendCookie(cookie);
}
string url;
try
{
url=Request.QueryString["Backurl"].ToString();
hl_Exit.NavigateUrl=url;
}
catch
{
hl_Exit.NavigateUrl="main.aspx" ;
}
BindGrid();
}
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.dg_Cart.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_Cart_CancelCommand);
this.dg_Cart.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_Cart_EditCommand);
this.dg_Cart.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_Cart_UpdateCommand);
this.btn_CleanCart.Click += new System.EventHandler(this.btn_CleanCart_Click);
this.btn_PutOrder.Click += new System.EventHandler(this.btn_PutOrder_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
/// <summary>
/// Push Dialog,Show error message
/// </summary>
/// <param name="err">Error Message Detail</param>
private void ShowErrMsg(string err)
{
string str;
str="<script language='javascript'>";
str+=" alert('" +err + "')";
str+="</script>";
ErrMsg.Visible=true;
ErrMsg.Text=str;
}
private void BindGrid()
{
DataTable myDt;
DataRow myDr;
string str="";
//HttpCookie cookie;
myDt=new DataTable();
myDt.Columns.Add(new DataColumn("id",str.GetType()));
myDt.Columns.Add(new DataColumn("Name",str.GetType()));
myDt.Columns.Add(new DataColumn("Price",str.GetType()));
myDt.Columns.Add(new DataColumn("Number",str.GetType()));
myDt.Columns.Add(new DataColumn("Discount",str.GetType()));
myDt.Columns.Add(new DataColumn("Totle",str.GetType()));
if(!Object.Equals(Request.Cookies["HugoShopBookCart"],null))
{
HttpCookie cookie=Request.Cookies["HugoShopBookCart"];
for(int i=0;i<cookie.Values.Count;i++)
{
int id;
DataRow tempDr;
double totle;
myDr=myDt.NewRow();
if((cookie.Values.AllKeys[i]!="")&&(cookie.Values[i]!=""))
{
id=int.Parse(cookie.Values.AllKeys[i]);
tempDr=myBook.GetBookDetail(id);
myDr[0]=id;
myDr[1]=tempDr["Name"];
myDr[2]=tempDr["Price"].ToString();
myDr[3]=cookie.Values[i];
myDr[4]=tempDr["Discount"].ToString();
totle=double.Parse(myDr[2].ToString())*double.Parse(myDr[3].ToString());
totle*=double.Parse(myDr[4].ToString());
myDr[5]=totle.ToString() ;
myDt.Rows.Add(myDr);
}
}
}
dg_Cart.DataSource=myDt.DefaultView;
dg_Cart.DataBind();
}
private void btn_CleanCart_Click(object sender, System.EventArgs e)
{
System.Web.UI.WebControls.CheckBox tempCB;
HttpCookie cookie=new HttpCookie("HugoShopBookCart");
for(int i=0;i<dg_Cart.Items.Count ;i++)
{
tempCB=(System.Web.UI.WebControls.CheckBox)dg_Cart.Items[i].FindControl("ckb_Select");
if(!Object.Equals(tempCB,null))
{
if (!tempCB.Checked)
{
string id;
string count;
id=dg_Cart.Items[i].Cells[0].Text;
count=dg_Cart.Items[i].Cells[5].Text;
if (count.Trim()=="")
count="0";
cookie.Values.Add(id,count);
}
}
}
TimeSpan ts = new TimeSpan(0,0,10,0);
cookie.Expires=DateTime.Now + ts;
Response.AppendCookie(cookie);
Response.Redirect("AddToCart.aspx");
}
public void AllSelect()
{
bool tempbl;
System.Web.UI.WebControls.CheckBox tempCK;
tempCK=(System.Web.UI.WebControls.CheckBox)Page.FindControl("ckb_All");
tempbl=tempCK.Checked;
for(int i=0;i<dg_Cart.Items.Count;i++)
{
tempCK=(System.Web.UI.WebControls.CheckBox)dg_Cart.Items[i].FindControl("ckb_Select");
tempCK.Checked=!tempbl;
}
}
private void dg_Cart_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dg_Cart.EditItemIndex=e.Item.ItemIndex ;
BindGrid();
}
private void dg_Cart_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dg_Cart.EditItemIndex=-1;
BindGrid();
}
private void dg_Cart_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string Number;
Number=((TextBox)e.Item.Cells[4].Controls[0]).Text;
HttpCookie cookie=new HttpCookie("HugoShopBookCart");
for(int i=0;i<dg_Cart.Items.Count ;i++)
{
string id;
string count;
id=dg_Cart.Items[i].Cells[0].Text;
if(e.Item.ItemIndex==i)
count=Number;
else
count=dg_Cart.Items[i].Cells[4].Text;
if (count.Trim()=="")
count="0";
cookie.Values.Add(id,count);
}
TimeSpan ts = new TimeSpan(0,0,10,0);
cookie.Expires=DateTime.Now + ts;
Response.AppendCookie(cookie);
dg_Cart.EditItemIndex=-1;
Response.Redirect("AddToCart.aspx");
}
private void btn_PutOrder_Click(object sender, System.EventArgs e)
{
try
{
Hugo.BookShop.Order order = new Hugo.BookShop.Order();
HttpCookie cookie=new HttpCookie("HugoShopBookCart");
for(int i=0;i<dg_Cart.Items.Count ;i++)
{
string id;
string count;
id=dg_Cart.Items[i].Cells[0].Text;
count=dg_Cart.Items[i].Cells[4].Text;
if (count.Trim()=="")
count="1";
order.Add( new Hugo.BookShop.OrderDetails(int.Parse(id),int.Parse(count)));
}
int orderId = order.Have(int.Parse(Session["UserID"].ToString()));
TimeSpan ts = new TimeSpan(0,0,10,0);
cookie.Expires=DateTime.Now + ts;
Response.AppendCookie(cookie);
Response.Redirect("ShowOrder.aspx?orderId="+orderId.ToString());
}
catch(Exception ex)
{
ShowErrMsg(ex.Message);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -