protected void btnOrder_Click(object sender, EventArgs e) { //检查库存 if (CheckStock() == false) { return; } DataSet ds = business.GetList(int.Parse(Session["UserId"].ToString())); List<string> missStock = new List<string>(); //循环片段购物车中的商品,添加订单数据 for (int I = 0; I < ds.Tables[0].Rows.Count; I++) { DataTable dt = ds.Tables[0]; BLL.XiangXiDDBusiness bus = new BLL.XiangXiDDBusiness(); XiangXiDD xx = new XiangXiDD(); xx.OrderID = DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString(); xx.SPID = long.Parse(dt.Rows[I]["SPID"].ToString()); xx.SPName = dt.Rows[I]["SPName"].ToString(); xx.SPPrice = Convert.ToDecimal(dt.Rows[I]["SPPrice"].ToString()) * decimal.Parse(dt.Rows[I]["Num"].ToString()); xx.shuliang = Convert.ToInt32(dt.Rows[I]["Num"].ToString()); xx.Member = Session["UserName"].ToString(); bus.Add(xx); } business.ClearCart(int.Parse(Session["UserId"].ToString())); //清空购物车 Alert.AlertAndRedirect("结算成功!", "Default.aspx"); }
时间: 2024-03-18 21:43:06 浏览: 21
这是一个 ASP.NET 网页中的 C# 代码,实现了一个按钮(btnOrder)的点击事件,用于结算购物车中的商品。代码中通过调用 CheckStock() 方法来检查库存是否充足,如果不充足则返回。然后通过调用 business.GetList() 方法来获取用户购物车中的商品列表,并且循环遍历每个商品,将其添加到订单数据中。添加订单数据时,使用了 XiangXiDD 类来表示详细订单信息,订单编号(xx.OrderID)使用了当前时间的毫秒数构成,商品ID(xx.SPID)、商品名称(xx.SPName)、商品单价(xx.SPPrice)、商品数量(xx.shuliang)、会员名(xx.Member)等属性都从商品列表中获取。最后,通过调用 business.ClearCart() 方法来清空用户的购物车,然后弹出一个提示框,提示用户结算成功。
相关问题
protected void btnCart_Click(object sender, EventArgs e) { if (Session["UserId"] == null) { Response.Write("<script language='javascript'>alert('需要先登录才能购买商品!'); location.href='Default.aspx'</script>"); return; } //构造购物车数据 Cart model = new Cart(); model.UserId = int.Parse(Session["UserId"].ToString()); model.SPId = int.Parse(Request.QueryString["id"].ToString()); model.Num = int.Parse(TextBox1.Text); //添加购物车 CartBusiness business = new CartBusiness(); business.Add(model); Response.Write("<script language='javascript'>alert('加入购物车成功!');</script>"); }
这是一个 ASP.NET 中的 C# 代码段,它处理了一个名为 btnCart 的按钮的点击事件。在按钮被点击时,代码首先检查用户是否已经登录,如果没有登录,它会显示一个警告框并重定向到默认页面。如果用户已经登录,代码会构造一个名为 model 的购物车对象,并从当前请求的参数中获取商品的 ID 和数量,然后将这些数据填充到购物车对象中。接着,代码会使用一个名为 business 的购物车业务对象,将这个购物车对象添加到购物车中。最后,代码会显示一个成功添加购物车的警告框。
简要解释这段代码: protected void LinkButton4_Click(object sender, EventArgs e) { if (Request.Form["search"] == "") { Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('关键字不能为空!');</script>"); return; } Response.Redirect("sp.aspx?key=" + Server.UrlEncode(Request.Form["search"])); }
这段代码是一个 C# 的事件处理方法,它是在页面上的 LinkButton4 被点击时触发的。在方法内部,首先通过 Request.Form["search"] 来获取搜索框中的输入值,如果输入值为空,则弹出一个提示框,告诉用户关键字不能为空,并且使用 Page.ClientScript.RegisterStartupScript 方法来注册一个客户端脚本,在页面加载完毕时弹出提示框。如果输入值不为空,则使用 Response.Redirect 方法将请求重定向到 sp.aspx 页面,并将搜索关键字作为参数传递过去。在传递参数时,使用 Server.UrlEncode 方法对参数进行 URL 编码,以避免出现特殊字符导致的问题。