asp.net购物车实现-------结合session方式
2009-03-08 17:04
483 查看
/// <summary>
/// 购买
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void imgbtn_Buy_Click(object sender, ImageClickEventArgs e)
{
if (Session["CurrentUser"] != null)
{
if (Session["Cart"] == null)
{
this.BuildCart();
}
else
{
DataTable cart = Session["Cart"] as DataTable;
if (this.ExistBook(cart))
{
this.BuildSession(cart);
}
}
Response.Redirect(@"Cart.aspx");
}
else
{
Response.Redirect(@"Membership/UserLogin.aspx");
}
}
/// <summary>
/// 已有图书
/// </summary>
/// <param name="cart"></param>
/// <returns></returns>
public bool ExistBook(DataTable cart)
{
foreach (DataRow dr in cart.Rows)
{
if (dr["BookName"].ToString().Equals(this.lblBookName.Text.Trim()))
{
dr["Number"] = Convert.ToInt32(dr["Number"]) + 1;
Session["Cart"] = cart;
Response.Redirect("Cart.aspx");
}
}
return true;
}
/// <summary>
/// 新建购物车表
/// </summary>
public void BuildCart()
{
DataTable cart = new DataTable();
cart.Columns.Add("BookId");
cart.Columns.Add("BookName");
cart.Columns.Add("Number");
cart.Columns.Add("UnitPrice");
cart.Columns.Add("ImageUrl");
this.BuildSession(cart);
}
/// <summary>
/// 添加新书
/// </summary>
/// <param name="cart"></param>
public void BuildSession(DataTable cart)
{
DataRow dr = cart.NewRow();
dr["BookId"] = ViewState["BookId"].ToString();
dr["BookName"] = this.lblBookName.Text.Trim();
dr["Number"] = "1";
dr["UnitPrice"] = this.lblPrice.Text.Substring(0, this.lblPrice.Text.Length - 1); ;
dr["ImageUrl"] = this.lblISBN.Text.Trim();
cart.Rows.Add(dr);
Session["Cart"] = cart;
}
我写的比较简单,没有考虑更改和删除订单的情况。
但是购物车的基本实现已经完成。
/// 购买
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void imgbtn_Buy_Click(object sender, ImageClickEventArgs e)
{
if (Session["CurrentUser"] != null)
{
if (Session["Cart"] == null)
{
this.BuildCart();
}
else
{
DataTable cart = Session["Cart"] as DataTable;
if (this.ExistBook(cart))
{
this.BuildSession(cart);
}
}
Response.Redirect(@"Cart.aspx");
}
else
{
Response.Redirect(@"Membership/UserLogin.aspx");
}
}
/// <summary>
/// 已有图书
/// </summary>
/// <param name="cart"></param>
/// <returns></returns>
public bool ExistBook(DataTable cart)
{
foreach (DataRow dr in cart.Rows)
{
if (dr["BookName"].ToString().Equals(this.lblBookName.Text.Trim()))
{
dr["Number"] = Convert.ToInt32(dr["Number"]) + 1;
Session["Cart"] = cart;
Response.Redirect("Cart.aspx");
}
}
return true;
}
/// <summary>
/// 新建购物车表
/// </summary>
public void BuildCart()
{
DataTable cart = new DataTable();
cart.Columns.Add("BookId");
cart.Columns.Add("BookName");
cart.Columns.Add("Number");
cart.Columns.Add("UnitPrice");
cart.Columns.Add("ImageUrl");
this.BuildSession(cart);
}
/// <summary>
/// 添加新书
/// </summary>
/// <param name="cart"></param>
public void BuildSession(DataTable cart)
{
DataRow dr = cart.NewRow();
dr["BookId"] = ViewState["BookId"].ToString();
dr["BookName"] = this.lblBookName.Text.Trim();
dr["Number"] = "1";
dr["UnitPrice"] = this.lblPrice.Text.Substring(0, this.lblPrice.Text.Length - 1); ;
dr["ImageUrl"] = this.lblISBN.Text.Trim();
cart.Rows.Add(dr);
Session["Cart"] = cart;
}
我写的比较简单,没有考虑更改和删除订单的情况。
但是购物车的基本实现已经完成。
相关文章推荐
- asp.net购物车实现-------结合数据库的方式
- ASP.NET中Session跨站点共享实现方式
- Asp.net基于session实现购物车的方法
- asp.net中购物车的两种存储方式Session和Cookie
- 使用COOKIE对像实现保存用户基本信息(结合Session),ASP.Net实现用户登录全过程
- asp.net中购物车的两种存储方式Session和Cookie的应用实例
- session + List<T> 实现购物车(asp.net mvc)
- [网络收集]asp.net中购物车的两种存储方式Session和Cookie的应用实例
- asp.net中购物车的两种存储方式Session和Cookie的应用实例
- asp.net采用cookie+数据库方式实现购物车功能分析
- [网络收集]asp.net中购物车的两种存储方式Session和Cookie的应用实例
- asp.net中购物车的两种存储方式Session和Cookie的应用实例
- asp.net采用cookie+数据库方式实现购物车功能分析
- asp.net基于session实现购物车的方法
- asp.net中购物车的两种存储方式Session和Cookie的应用实例
- 在ASP.NET MVC实现购物车,尝试一种不同于平常的购物车显示方式
- asp.net网页智能导航SmartNavigation的替代实现方式
- asp.net session共享(通过StateServer方式)
- asp.net 实现购物车