使用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="更新" />
<asp:Button ID="Button4" runat="server" CommandName="cancel" Text="取消" />
</EditItemTemplate>
<ItemTemplate>
商品id:<asp:Label ID="Label1" runat="server" Text='<%#Eval("id") %>'></asp:Label>
<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="加入购物车" />
<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();
}

浙公网安备 33010602011771号