<%@ Page language="c#" Codebehind="shoppingcart.aspx.cs" AutoEventWireup="false" Inherits="myshop.shoppingcart" %><<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional// TH" ><HTML> <HEAD>
<หัวข้อ><ตะกร้าสินค้า
</หัวเรื่อง><
<meta http-equiv="ประเภทเนื้อหา" content="text/html;
charset=gb2312"> <LINK href="mycss.css" type="text/css" rel="stylesheet">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content=" http://schemas.microsoft.com/intellisense/ie5 "> </HEAD>
<ร่างกาย> <ศูนย์กลาง>
<form id="Form1" runat="server"></table width="500" border="0" cellspacing="0" cellpadding="0""> <tr>< <td>
<asp:DataGrid id="ShoppingCartDlt" runat="server" width="500" BackColor="white" BorderColor="black" ShowFooter="false" CellPadding="3" CellSpacing="0" Font-Name="Verdana " Font-Size="8pt" HeaderStyle-BackColor="#cecfd6" AutoGenerateColumns="false" KeepState="true"> <คอลัมน์>
<asp:TemplateColumn HeaderText="删除">
<เทมเพลตรายการ> <ศูนย์กลาง>
<asp:CheckBox id="chkProductID" runat="server" /></a> </center>
</ItemTemplate>< </asp:TemplateColumn><
<asp:BoundColumn DataField="ProdID" HeaderText="ID" />
<asp:BoundColumn DataField="ProName" HeaderText="商品名称" />
<asp:BoundColumn DataField="UnitPrice" HeaderText="单价" />
<asp:TemplateColumn HeaderText="数量">
<เทมเพลตรายการ>
<asp:TextBox id="CountTb" runat="server" Text='<%#DataBinder.Eval( Container.DataItem,"ProdCount" )%><'> </asp:TextBox>
</ItemTemplate>< </asp:TemplateColumn><
<asp:BoundColumn DataField="TotalPrice" HeaderText="小计( 元 )" /> </Columns> </asp:DataGrid></td> </tr> </table> <br> <ความกว้างของตาราง=" 500" border="0" cellspacing="0" cellpadding="0"> <tr>< <td>
<asp:Button id="update" runat="server" Text="更新我的购物车" CssClass="button2" /></td> <td>
<asp:Button id="CheckOut" runat="server" Text="结算" CssClass="button5" />
<input type="button" name="close2" value="继续购物" onClick="window.close ( );
กลับเท็จ;
" class="button2"></td"> <td align="right"><br>
<asp:Label id="label" runat="server" width="100px" Visible="True" ForeColor="#FF8080" Height="18px">< </asp:Label > </td > </tr > </โต๊ะ><
</แบบฟอร์ม> </ศูนย์กลาง>
</ตัว></HTML><========================================= =============================================以上为HTML页的部分
-
ใช้ระบบ;
ใช้ System.Collections;
โดยใช้ System.ComponentModel;
โดยใช้ System.Web.SessionState;
ใช้ System.Web;
โดยใช้ System.Web.UI;
ใช้ System.Web.UI.HtmlControls;
ใช้ System.Web.UI.WebControls;
ใช้ System.Data;
โดยใช้ System.Data.OleDb;
โดยใช้ระบบการกำหนดค่า;
เนมสเปซ myshop
-
/// <summary> /// รถเข็นช้อปปิ้ง 的摘要说明. /// </summary> ตะกร้าสินค้าคลาสสาธารณะ : System.Web.UI.Page
-
ป้องกัน System.Web.UI.WebControls.DataGrid ShoppingCartDlt;
ป้องกันการอัปเดต System.Web.UI.WebControls.Button;
ป้องกัน System.Web.UI.WebControls.Button CheckOut;
ป้องกัน System.Web.UI.HtmlControls.HtmlForm Form1;
ป้ายกำกับ System.Web.UI.WebControls.Label ที่มีการป้องกัน;
ป้องกัน System.Web.UI.WebControls.CheckBox chkProductID;
ป้องกัน System.Web.UI.WebControls.TextBox txtCount;
ป้องกัน System.Web.UI.WebControls.TextBox CountTb;
สตริง AddProID;
โมฆะส่วนตัว Page_Load (ผู้ส่งวัตถุ System.EventArgs e)
-
พยายาม
-
ถ้า ( เซสชัน["logon"]!="ใช่" เซสชัน["ชื่อผู้ใช้"]==null )
-
Response.Redirect( "error.htm" ) ;
-
-
จับ
-
Response.Redirect( "error.htm" ) ;
-
//////////// 查看用户是否已经登陆.
ถ้า( !IsPostBack )
-
if( Request.Params["mode"]=="view" ) // 检测是否为直接查看购物车.
-
ดูตะกร้าสินค้า( );
เครื่องคิดเลข( );
-
if( Request.Params["productID"]!=null Request.Params["productID"]!="" )
-
AddProID=คำขอ["รหัสผลิตภัณฑ์"];
อัพเดตตะกร้าสินค้า( );
เครื่องคิดเลข( );
-
-
// 在此处放置用户代码以初始化页เลดี้
-
โมฆะสาธารณะ CreateCartTable( ) //创建购物车
-
ชุดข้อมูล ds = ชุดข้อมูลใหม่ ( );
DataTable newDT=new DataTable( "CartTable" );
ds.Tables.Add( newDT );
ข้อมูลคอลัมน์ newDC;
newDC=new DataColumn( "ProdID",System.Type.GetType( "System.Int32" ) );
ds.Tables["CartTable"].Columns.Add( newDC );
newDC=new DataColumn( "ProdCount",System.Type.GetType( "System.Int32" ) );
ใหม่DC.DefaultValue=1;
ds.Tables["CartTable"].Columns.Add( newDC );
newDC=new DataColumn( "ProName",System.Type.GetType( "System.String" ) );
ds.Tables["CartTable"].Columns.Add( newDC );
newDC=new DataColumn( "UnitPrice",System.Type.GetType( "System.Double" ) );
ds.Tables["CartTable"].Columns.Add( newDC );
newDC=new DataColumn( "ราคารวม",System.Type.GetType( "System.Double" ) );
ds.Tables["CartTable"].Columns.Add( newDC );
newDC=new DataColumn( "IsDeleted",System.Type.GetType( "System.Int32" ) );
ใหม่DC.DefaultValue=0;
// โมฆะสาธารณะ WriteShoppingCart( ) 中 newDR[5]="0";
อื่น ๆ, ds.Tables["CartTable"].Columns.Add( newDC );
เซสชัน["myCartTable"]=newDT;
ShoppingCartDlt.DataSource=ds.Tables["CartTable"].DefaultView;
ShoppingCartDlt.DataBind( );
-
โมฆะสาธารณะ UpdateShoppingCart( )
-
ถ้า( เซสชัน["myCartTable"]==null )//เซสชัน["myCartTable"]==null
-
CreateCartTable( );
// สร้างใหม่CreateCartTable( )DataTable WriteShoppingCart( );
-
อื่น
-
//如果购物蓝中已有商品,则需要对购物信息表DataTable进行更新,并将其棒定到ShoppingCartDlt WriteShoppingCart( );
-
-
โมฆะสาธารณะ ViewShoppingCart( ) //查看购物车
-
ถ้า( เซสชัน["myCartTable"]!=null )
-
DataTable viewTable=ใหม่ DataTable( "nowCartTable" );
viewTable=( DataTable )เซสชัน["myCartTable"];
ShoppingCartDlt.DataSource = viewTable.DefaultView;
// 购物车棒定到ShoppingCartDlt ShoppingCartDlt.DataBind( );
-
-
โมฆะสาธารณะ WriteShoppingCart( )
-
if( Request.Params["mode"]!="view" ) // 检查是否是直接查看购物车, 如果直接查看, 就不再写MYCARTTABLE
-
DataTable nowTable=ใหม่ DataTable( "nowCartTable" );
nowTable=( DataTable )เซสชัน["myCartTable"];
int pn = nowTable.Rows.Count;
อินท์ i=0;
บูล hasone=false;
int ตอนนี้ ProdID;
ในขณะที่( i<pn && !hasone )
-
nowProdID=Int32.Parse( nowTable.Rows[i][0].ToString( ) );
if( nowProdID==Int32.Parse( AddProID ) ) // ถูกต้องแล้ว ถ้า (nowProdID==Int32.Parse( AddProID ) )
-
ฮาโซน=จริง;
-
อื่น
-
ฉัน++;
-
-
ถ้า(ฮาโซน)
-
//如果已有该商品,则 hasone=true,更改该数据行 DataRow oldDR;
oldDR=nowTable.Rows[i];
oldDR["ProdCount"]=Int32.Parse( oldDR["ProdCount"].ToString( ) )+1;
oldDR["ราคารวม"]=Int32.Parse( oldDR["ProdCount"].ToString( ) )*Double.Parse( oldDR["UnitPrice"].ToString( ) );
-
อื่น
-
//如果没有该商品,在表中新加如一行. DataRow ใหม่ DR;
หน่วยคู่p;
สตริง strcon="provider=Microsoft.jet.OLEDB.4.0;
แหล่งข้อมูล = "+Server.MapPath( ConfigurationSettings.AppSettings["MDBpath2"] )+";
-
OleDbConnection myConnection = OleDbConnection ใหม่ ( strcon );
string strSQL= "select * from pro โดยที่ product_id="+AddProID+"";
OleDbDataAdapter myCommand = ใหม่ OleDbDataAdapter( strSQL, myConnection );
ชุดข้อมูล ds = ชุดข้อมูลใหม่ ( );
myCommand.Fill( ds, "AddP" );
newDR=nowTable.NewRow( );
ใหม่DR[0]=AddProID;
newDR[2]=ds.Tables["Addp"].Rows[0]["product_name"].ToString( );
unitp=Double.Parse( ds.Tables["AddP"].Rows[0]["product_memprice"].ToString( ) );
//会员价 newDR[3]=unitp;
ใหม่DR[4]=unitp;
//第一次读库,所以总价格和单价是一样的. //newDR[5]="0";
nowTable.Rows.Add( newDR );
myConnection.ปิด( );
-
ShoppingCartDlt.DataSource = nowTable.DefaultView;
// ปรับปรุง DataTable ใหม่ShoppingCartDlt ShoppingCartDlt.DataBind( );
เซสชั่น["myCartTable"] = ตอนนี้ตาราง;
//重新保存更新过的DataTable
-
-
เครื่องคิดเลขโมฆะสาธารณะ()
-
if( Session["myCartTable"]!=null ) // 购物车是否为空
-
อินท์เอช;
TotalPri สองเท่า;
รวมพริ=0;
DataTable nowTable3=ใหม่ DataTable( "nowCartTable3" );
nowTable3=( DataTable )เซสชัน["myCartTable"];
ถ้า ( nowTable3.Rows.Count > 0 ) // 返回购物车中是否有货物
-
สำหรับ(ซ=0;
h<=nowTable3.Rows.Count-1;
ซ++ )
-
TotalPri=TotalPri+Int32.Parse( nowTable3.Rows[h][4].ToString( ) );
//Double.Parse( ( สตริง )TotalText.Text );
-
label.Text="总计: "+TotalPri.ToString( )+" 元" ;
-
-
-
อัพเดตโมฆะสาธารณะ( )
-
ฉัน;
อินท์เจ;
อินท์เค;
ArrayList DeleteItem = ใหม่ ArrayList( 10 );
DataGridItem _รายการ ;
เจ=0;
int ลบไอดี;
เค=0;
DataTable nowTable2=ใหม่ DataTable( "nowCartTable2" );
nowTable2=( DataTable ) เซสชัน ["myCartTable"];
สำหรับ( i=0;
i<=this.ShoppingCartDlt.Items.Count-1;
ฉัน++)
-
_item = this.ShoppingCartDlt.Items[i];
กล่องข้อความ CountText=( กล่องข้อความ )this.ShoppingCartDlt.Items[i].Cells[4].FindControl( "CountTb" );
//การควบคุม[1];
//_item.FindControl( "CountTb" );
CheckBox ProductIDCheck =( CheckBox ) _item.FindControl( "chkProductID" );
nowTable2.Rows[i][1] = Int32.Parse( CountText.Text.ToString( ) );
nowTable2.Rows[i][4] = Int32.Parse( nowTable2.Rows[i][1].ToString( ) ) * Double.Parse( nowTable2.Rows[i][3].ToString( ) );
ถ้า( ProductIDCheck.Checked )
-
ตอนนี้Table2.Rows[i][5] = 1;
// 添加删除标记1 j=j+1;
-
-
string strExpr="IsDeleted>0";
//http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfSystemDataDataDataTableClassSelectTopic.asp DataRow[] foundRows = nowTable2.Select( strExpr );
สำหรับ( int m = 0;
ม. < พบแถวความยาว;
ม ++ )
-
//Console.WriteLine( พบแถว[i][0] );
foundRows[m].ลบ( );
-
ShoppingCartDlt.DataSource = nowTable2.DefaultView;
ShoppingCartDlt.DataBind( );
เซสชัน["myCartTable"] = nowTable2;
เครื่องคิดเลข( );
-
#region Web 窗体设计器生成的代码 แทนที่การป้องกันโมฆะ OnInit ( EventArgs e )
-
// // CODEGEN: 该调用是 asp.NET Web 窗体设计器所必需的. // เตรียมใช้งานส่วนประกอบ( );
ฐาน OnInit(e);
-
/// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容. /// </summary> โมฆะส่วนตัว InitializeComponent( )
-
this.update.Click += ใหม่ System.EventHandler( this.update_Click );
this.CheckOut.Click += System.EventHandler ใหม่ ( this.CheckOut_Click );
this.Load += System.EventHandler ใหม่ ( this.Page_Load );
-
#ภูมิภาคสุดท้าย
โมฆะส่วนตัว update_Click (ผู้ส่งวัตถุ System.EventArgs e)
-
อัปเดต( );
-
โมฆะส่วนตัว CheckOut_Click (ผู้ส่งวัตถุ System.EventArgs e)
-
อัปเดต( );
Response.Redirect( "ชำระเงิน.aspx" );
-
-
}
http://www.cnblogs.com/boundless/archive/2007/01/16/621553.html