ASP.NET利用DataList实现从购物车添加商品

前言

VS中的DataList控件可以内嵌按钮,为创建库存列表提供了便利。

DataList内嵌按钮

最近在练习ASP.NET,创建一个购物网站时用到了会话(Session),通过Session将用户购买的商品信息临时存储下来,实现从库存中挑选商品的功能。网页设计如下,左侧DataList列表为库存信息,右侧GridView表格为选中的信息,通过点击DataList列表中的SelectItem按钮将对应商品添加到GridView表格。
网页设计
DataList表格可以将按钮内嵌,适合在库存数目比较大且库存实时变化的情况下使用。DataList中内嵌的按钮似乎只能通过DataList的事件属性ItemCommand来实现,通过该事件的DataListCommandEventArgs参数可以获得按钮对应的数据,代码如下。

        protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
        {
   
   
            int nItemIndex = e.Item.ItemIndex;     //获取选中项
            this.DataList1.SelectedIndex = nItemIndex;

            BindToinventory();
          
            DataTable dt = (DataTable)DataList1.DataSource;     //从数据库中获取该项信息
            String strID = (dt.Rows[nItemIndex][0]).ToString();
            String strTitle = (dt.Rows[nItemIndex][1]).ToString();
            String strAuthorLastName = (dt.Rows[nItemIndex][2]).ToString();
            String strAuthorFirstName = (dt.Rows[nItemIndex][3]).ToString();
            String strTopic = (dt.Rows[nItemIndex][4]).ToString();
            String strPublisher = (dt.Rows[nItemIndex][5]).ToString();

            DataTable tableSelectedItems;
            tableSelectedItems = (DataTable)Session["tableSelectedItems"];   //从Session获取已添加表格

            DataRow dr = tableSelectedItems.NewRow();    //添加新行
            dr[0] = strID;
            dr[1] = strTitle;
            dr[2] = strAuthorLastName;
            dr[3] = strAuthorFirstName;
            dr[4] = strTopic;
            dr[5] = strPublisher;

            tableSelectedItems.Rows.Add(dr);

            Session["tableSelectedItems"] = tableSelectedItems;    //将新表格信息存入Session

            this.GridView1.DataSource = tableSelectedItems;    //刷新表格
            this.GridView1.DataBind();
        }

源码

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值