我的DataList出现问题,可以添加特定产品:
我创建了一个列表(对不起西班牙变量)
List<Product> product = new List<Product>();
用户搜索时填写的:
protected void btnSearch_Click(object sender, EventArgs e)
{
DataAccess bd = new DataAccess();
product = bd.GetProduct(txtsearch.Text);
UpdateBinding();
}
(我有一个类可以访问数据库并获取有关产品的数据)
接下来,我使用列表中的项目更新数据列表
public void UpdateBinding()
{
DataProduct.DataSource = product;
DataProduct.DataBind();
}
但是,当我想将产品添加到购物车时,它什么也没添加,数据列表模板中的按钮具有命令名称“ addtocart”
if (e.CommandName == "addtocart")
{
DataProduct.SelectedIndex = e.Item.ItemIndex;
foreach (DataListItem item in DataProduct.Items)
{
string ID = ((HiddenField)item.FindControl("lbl_ID")).Value;
string description = ((HiddenField)item.FindControl("lbl_descip")).Value;
double price = double.Parse(((HiddenField)item.FindControl("lbl_price")).Value);
AddItem(ID, description, price);
}
Response.Redirect("~/Cliente/cart.aspx");
}
这是Itemtemplate
<asp:Button ID="btn_add" runat="server" Text="Add" CommandName="addtocart" OnClick="btnagregar_Click"/>
我尝试在页面加载中使用IsPostBack
,但没有尝试
if (IsPostBack)
{
UpdateBinding();
}