购物车信息()
ST_CartInfoaspxcs的主要代码及其解释
在页面首次加载时将运行Page_Load中的BindData()方法用来绑定购物车中的数据主要代码如程序所示
程序 ST_CartInfoaspxcs
protected void Page_Load(object sender SystemEventArgs e)
{
if (!IsPostBack)
{
BindData()
}
}
/// <summary>
///绑定购物车中的数据所有的图书
/// </summary>
private void BindData()
{
//生成购物车实例
ST_BookBizST_Cart cart = (ST_BookBizST_Cart)Session[Cart];
DataTable table = null;
if (cart != null)
{
table = cartGetProductItems()
}
GridViewDataSource = table;
//绑定到控件
GridViewDataBind()
}
【代码说明】代码第~行表示页面如果是第一次加载则直接运行BindData()方法代码第行用来生成或者说是获取购物车因为购物车保存在Session中
说明Session[Cart]缓存的购物车信息是Object类型所以取出时需要使用(ST_BookBiz ST_Cart)进行显式类型转换
ST_Cart类的GetProductItems()方法的代码如程序所示
程序 ST_Cartcs
/// <summary>
///获得购物车中所有的图书
///将部分图书信息重新组合为一个数据表
public DataTable GetProductItems()
{
DataTable table = new DataTable()
//添加列
tableColumnsAdd(itemIndex)
tableColumnsAdd(ST_ProductId)
tableColumnsAdd(ST_ProductName)
tableColumnsAdd(ST_Price)
tableColumnsAdd(ST_SoldPrice)
tableColumnsAdd(ST_Quantity)
tableColumnsAdd(ST_Total)
//添加数据
foreach(object obj in thisGetProducts())
{
ST_OrderProduct product = (ST_OrderProduct)obj;
DataRow row = tableNewRow()
row[itemIndex] = thisIndex;
row[ST_ProductId] = productST_ProductID;
row[ST_ProductName] = productST_ProductName;
row[ST_Price] = productST_Price;
row[ST_SoldPrice] = productST_SoldPrice;
row[ST_Quantity] = productST_Quantity;
row[ST_Total] = productTotal;
tableRowsAdd(row)
}
return table;
}
【代码说明】代码第行创建了一个新的数据表代码第~行则是构建数据表的结构代码第~行是为该表添加数据整个代码完成的是将图书信息重新组合为一个数据表
[] []