计算机毕业设计介绍:
4.5 典型模块的具体实现
购物车的具体实现:
购物车的信息要显示出来,必须有一个专门的页面,这就是购物车页面。
添加一个GirdView控件,由于这里GirdView控件的数据源不能够通过SqlDataSource控件得到,必须自己构建数据源,代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserLevel"] == null || Session["UserLevel"].ToString() != "User")
//判断用户输入
{
this.lblMsg.Text = "您还没有登陆,请先登陆!";//提示相应信息,并隐藏按钮
this.btnBuy.Enabled = false;
this.btnEmpty.Enabled = false;
this.btnUpdate.Enabled = false;
this.btnEnd.Enabled = false;
}
else if (!Page.IsPostBack)//如果用户登陆,并且是第一次
{
if (Session["UserCar"] == null)//判断是否购物
{
this.lblMsg.Text = "您还没有购物!";
this.btnBuy.Enabled = false;
this.btnEmpty.Enabled = false;
this.btnUpdate.Enabled = false;
this.btnEnd.Enabled = false;
}
else//如果已经购物
{
hashCar = (Hashtable)Session["UserCar"];//得到其购物车
if (hashCar.Count == 0)//判断购物车是否为空
{
this.lblMsg.Text = "您还没有购物!";
this.btnBuy.Enabled = false;
this.btnEmpty.Enabled = false;
this.btnUpdate.Enabled = false;
this.btnEnd.Enabled = false;
}
else//如果购物了
{
//设置购物车内容的数据源
dtTable = new DataTable();//初始化数据表
DataColumn column1 = new DataColumn("no");//初始化新列
DataColumn column2 = new DataColumn("GoodsID");//初始化新列
DataColumn column3 = new DataColumn("GoodsName");//初始化新列
DataColumn column4 = new DataColumn("GoodsNum");//初始化新列
DataColumn column5 = new DataColumn("price");//初始化新列
DataColumn column6 = new DataColumn("totalPrice");//初始化新列
dtTable.Columns.Add(column1);//添加新列
dtTable.Columns.Add(column2);//添加新列
dtTable.Columns.Add(column3);//添加新列
dtTable.Columns.Add(column4);//添加新列
dtTable.Columns.Add(column5);//添加新列
dtTable.Columns.Add(column6);//添加新列
DataRow row;
foreach (object key in hashCar.Keys)//遍历所有hash表中的键(对每一行进行遍历,并给每一行新列赋值)
{
row = dtTable.NewRow();//添加新行
row["GoodsID"] = key.ToString();//得到书籍ID
row["GoodsNum"] = hashCar[key].ToString();//得到书籍数量
dtTable.Rows.Add(row);//添加该行
}
〖资料来源:计算机毕业论文 www.xiaoniu168.com〗
第10页为计算机毕业论文部分......