⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkout.aspx.cs

📁 电子商务购物网站
💻 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;

namespace shop
{
	/// <summary>
	/// checkOut 的摘要说明。
	/// </summary>
	public class checkOut : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Label lblUserName;
		protected System.Web.UI.WebControls.DataGrid grdShopList;
		protected System.Web.UI.WebControls.Label lblError;
		protected System.Web.UI.WebControls.TextBox txtLinkMan;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
		protected System.Web.UI.WebControls.TextBox txtEmail;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
		protected System.Web.UI.WebControls.TextBox txtPhone;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
		protected System.Web.UI.WebControls.TextBox txtPost;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator4;
		protected System.Web.UI.WebControls.TextBox txtAddress;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator5;
		protected System.Web.UI.WebControls.TextBox txtRemark;
		protected System.Web.UI.WebControls.DropDownList dropTime;
		protected System.Web.UI.WebControls.DropDownList dropSMode;
		protected System.Web.UI.WebControls.DropDownList dropFMode;
		protected System.Web.UI.WebControls.RadioButtonList radButton;
		protected System.Web.UI.WebControls.Button btnSure;
		protected System.Web.UI.WebControls.Label lblError2;
		protected System.Web.UI.WebControls.Label lblSum;
		protected System.Web.UI.HtmlControls.HtmlInputHidden hiUserId;

		#region user defined private variables
		private string sUserId;
		private double dSum;
		private string sOrderId;
		#endregion
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			// 判断用户是否登录
			if(!object.Equals(Session["UserId"],null))
			{
				sUserId = Session["UserId"].ToString();
				lblUserName.Text = Session["UserName"].ToString();
                //绑定用户信息
				ShowUser();
                //绑定购物车信息
				ShowCart();
			}
			else
				Response.Redirect("userEntry.aspx");
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.btnSure.Click += new System.EventHandler(this.btnSure_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		/// <summary>
		/// 显示用户信息
		/// </summary>
		private void ShowUser()
		{
			try
			{ //定义查询注册用户的基本信息
				string sSql = "select UserId,Name,Phone,Email,Address,Post from Users where UserId=" + sUserId;
                //调用类中的方法
				DataSet oDS = OleBase.ExecuteSql4Ds(sSql);
				DataRow oDR = oDS.Tables[0].Rows[0];
                //将用户的信息绑定到文本框中
				hiUserId.Value = oDR.ItemArray[0].ToString();
				txtLinkMan.Text = oDR.ItemArray[1].ToString();
				txtPhone.Text = oDR.ItemArray[2].ToString();
				txtEmail.Text = oDR.ItemArray[3].ToString();
				txtAddress.Text = oDR.ItemArray[4].ToString();
				txtPost.Text = oDR.ItemArray[5].ToString();
			}
			catch(Exception e)//错误处理
			{
				lblError2.Text = e.Message;
			}
		}

		/// <summary>
		/// 显示购物车中的信息
		/// </summary>
		private void ShowCart()
		{
			try
			{
				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);
					}
				}
				grdShopList.DataSource = oDT.DefaultView;
				grdShopList.DataBind();
                //将商品的总额绑定到Lblsum文本框中
				lblSum.Text = dSum.ToString();
			}
			catch(Exception e)//错误处理
			{
				lblError.Text = e.Message;
			}
		}

		private void btnSure_Click(object sender, System.EventArgs e)
		{
			try
			{
                ////根据用户输入的信息构造Insert SQL语句将用户订单插入数据库
				StringBuilder sbSql = new StringBuilder("insert into Orders (UserId,LinkMan,Email,Phone,PostalCode,Address,ReMark,SongHuoQixian,SongHuoFangShi,FuKuanFangShi,YiWaiChuLi) values (");
				sbSql.Append(hiUserId.Value + ",");
				sbSql.Append("\"" + txtLinkMan.Text + "\",");
				sbSql.Append("\"" + txtEmail.Text + "\",");
				sbSql.Append("\"" + txtPhone.Text + "\",");
				sbSql.Append("\"" + txtPost.Text + "\",");
				sbSql.Append("\"" + txtAddress.Text + "\",");
				sbSql.Append("\"" + txtRemark.Text + "\",");
				sbSql.Append("\"" + dropTime.SelectedValue + "\",");
				sbSql.Append("\"" + dropSMode.SelectedValue + "\",");
				sbSql.Append("\"" + dropFMode.SelectedValue + "\",");
				sbSql.Append("\"" + radButton.SelectedValue + "\")");
				Response.Write(sbSql.ToString()+"<br>");
				OleBase.ExecuteSql(sbSql.ToString());
                //查询刚刚插入的订单Id
				sOrderId = OleBase.ExecuteSql4Value("select top 1 OrderId from Orders where UserId = " + sUserId + " order by OrderId desc").ToString();
                //将订单中的每个产品的信息插入到订单细目信息数据表中
				string[] aSqls = new string[grdShopList.Items.Count];
				for(int i=0;i<grdShopList.Items.Count;i++)
				{
					sbSql.Length = 0;
					sbSql.Append("insert into OrdersDetail (OrderId,ProductId,Quantity,UnitCost,ProductName) values (" + sOrderId + ",");
					sbSql.Append("\"" + ((Label)grdShopList.Items[i].FindControl("lblProductId")).Text + "\",");
					sbSql.Append("\"" + ((Label)grdShopList.Items[i].FindControl("lblNumber")).Text + "\",");
					sbSql.Append("" + ((Label)grdShopList.Items[i].FindControl("lblPrice")).Text + ",");
					sbSql.Append("\"" + ((Label)grdShopList.Items[i].FindControl("lblProductName")).Text + "\");");
					aSqls[i] = sbSql.ToString();
					Response.Write(aSqls[i]+"<br>");
				}
				OleBase.ExecuteSqls(aSqls);
				Response.Redirect("checkOutComplete.aspx?Mode=" + dropSMode.SelectedValue + "&OrderId=" + sOrderId);
			}
			catch(Exception ex)//错误处理
			{
				throw new Exception(ex.Message);
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -