使用DataList实现 加入购物车,编辑,删除,更新,取消功能。

 

前台:

<asp:DataList ID="DataList1" runat="server"
            Xoncancelcommand="DataList1_CancelCommand"
            Xondeletecommand="DataList1_DeleteCommand" Xoneditcommand="DataList1_EditCommand"
            Xonitemcommand="DataList1_ItemCommand" Xonupdatecommand="DataList1_UpdateCommand">
            <EditItemTemplate>
                商品名称:<asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("name") %>'></asp:TextBox>
                <br />
                商品价格:<asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("price") %>'></asp:TextBox>
                <br />
                <asp:Button ID="Button3" runat="server" CommandArgument='<%# Eval("id") %>'
                    CommandName="update" Text="更新" />
                &nbsp;&nbsp;&nbsp;
                <asp:Button ID="Button4" runat="server" CommandName="cancel" Text="取消" />
            </EditItemTemplate>
            <ItemTemplate>
                商品id:<asp:Label ID="Label1" runat="server" Text='<%#Eval("id") %>'></asp:Label>
                &nbsp;<br />商品名称:<asp:Label ID="Label2" runat="server"
                    Text='<%# Eval("name") %>'></asp:Label>
                <br />
                商品价格:<asp:Label ID="Label3" runat="server" Text='<%#Eval("price") %>'></asp:Label>
                <br />
                <asp:Button ID="Button1" runat="server" CommandArgument='<%# Eval("id") %>'
                    CommandName="insert" Text="加入购物车" />
                &nbsp;<asp:Button ID="Button2" runat="server" CommandArgument='<%# Eval("id") %>'
                    CommandName="edit" Text="编辑" />
                <br />
                <asp:Button ID="Button5" runat="server" CommandArgument='<%# Eval("id") %>'
                    CommandName="delete" Text="删除" />
            </ItemTemplate>
        </asp:DataList> 

后台:

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string sql = "select * from T_shangpin";
                DataTable dt = SqlHelper.datatable(sql);
                DataList1.DataSource = dt;
                DataList1.DataBind();
            }
        }

        protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)      //直接从表里绑定后显示的内容
        {
          
          
            if(e.CommandName=="insert"){  
             string name = (e.Item.FindControl("Label2") as Label).Text;
             string price = (e.Item.FindControl("Label3") as Label).Text;           
               // string sql = "insert into T_gouwuche(name,price)values(select name,price from T_shangpin where id=" + e.CommandArgument + ")";
                string sql = "insert into T_gouwuche(name,price)values(@name,@price)";
                SqlParameter[] prms = new SqlParameter[] {
                  new SqlParameter("@name",name),
                  new SqlParameter("@price",price)
                };
                SqlHelper.ExecuteNonQuery(sql, prms);
                Response.Write("<script>alert('放入购物车成功')</script>");
            }
        }

        protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)      //编辑之后的更新
        {
            string name = (e.Item.FindControl("TextBox1") as TextBox).Text;
            string price = (e.Item.FindControl("TextBox2") as TextBox).Text;
           
                // string sql = "insert into T_gouwuche(name,price)values(select name,price from T_shangpin where id=" + e.CommandArgument + ")";
                string sql = "update T_gouwuche set name=@name, price=@price";
                SqlParameter[] prms = new SqlParameter[] {
                  new SqlParameter("@name",name),
                  new SqlParameter("@price",price)
                };
                SqlHelper.ExecuteNonQuery(sql, prms);
                Response.Write("<script>alert('更新成功')</script>");
           
        }

        protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)     //编辑
        {
            DataList1.EditItemIndex = e.Item.ItemIndex;
            string sql = "select * from T_shangpin";
            DataTable dt = SqlHelper.datatable(sql);
            DataList1.DataSource = dt;
            DataList1.DataBind();
        }

        protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)     //取消
        {
            DataList1.EditItemIndex = -1;
            string sql = "select * from T_shangpin";
            DataTable dt = SqlHelper.datatable(sql);
            DataList1.DataSource = dt;
            DataList1.DataBind();
        }

        protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)    //删除
        {
            string sql1 = "delete from T_gouwuche where id="+Convert.ToInt32(e.CommandArgument);           
            SqlHelper.ExecuteNonQuery(sql1);
            Response.Write("<script>alert('删除成功')</script>");
            string sql = "select * from T_shangpin";
            DataTable dt = SqlHelper.datatable(sql);
            DataList1.DataSource = dt;
            DataList1.DataBind();
        }

posted @ 2012-12-19 10:26  java程序员填空  阅读(348)  评论(0)    收藏  举报