購物車信息()
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;
}
【代碼說明】代碼第行創建了一個新的數據表代碼第~行則是構建數據表的結構代碼第~行是為該表添加數據整個代碼完成的是將圖書信息重新組合為一個數據表
[] []
From:http://tw.wingwit.com/Article/program/net/201311/15823.html