0
我正在ASP Webforms中构建电子商务网站。我将产品列表显示为从SQL Serer获取数据的listview。我在列表视图的项目模板中有一个文本框,用户可以在其中输入产品的数量。我想动态地将ID设置为Control ID,这样我就可以在后面的代码中检索到数量。如何动态地将ID添加到文本框中并在代码中将其放回到Webforms中
bio.aspx
<ItemTemplate>
<td runat="server" style="background-color:#DCDCDC;color: #000000;">
<asp:Image ImageUrl='<%# Eval("Image") %>' ID ="ImageLable" runat="server" CssClass="productImage" />
<br />
<asp:Label ID="Product_NameLabel" runat="server" Text='<%# Eval("[Product Name]") %>' />
<br />Price:
<asp:Label ID="PriceLabel" runat="server" Text='<%# Eval("Price") %>' />
<br />
<asp:TextBox ID='TextBox1' runat="server"></asp:TextBox>
</br>
<asp:Button ID="ButtonClick" runat="server" Text="Add To Cart" CommandArgument='<%# Eval("Id") %>' OnClick="ButtonClick_Click"/>
</td>
</ItemTemplate>
bio.cs
protected void ButtonClick_Click(object sender, EventArgs e)
{
Button button = (Button)sender;
string buttonId = button.CommandArgument.ToString();
int id = Convert.ToInt32(buttonId);
String connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["2016_675_z1787626ConnectionString"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connectionString))
{
String command = "Insert into Cart (ProductId,ProductQty,UserId) Values(@ProductId,@ProductQ,1)";
conn.Open();
SqlCommand cmd = new SqlCommand(command, conn);
cmd.Parameters.Add("@ProductId", System.Data.SqlDbType.Int).Value = id;
cmd.Parameters.Add("@ProductQ", System.Data.SqlDbType.Int).Value = 1;
cmd.ExecuteNonQuery();
}
Response.Redirect("cart.aspx");
}
我想添加一个文本框输入的每个产品列表的数量,所以当我点击addToCart键,标识以及产品质量需要更新到数据库 –
我更新答案。 – Win
但只有第一个产品具有Id“TextBox1”。我有近20个产品通过列表视图显示 –