我正在尝试制作购物车,当我按下更新产品的更新按钮来更新该产品的数量时,我需要获取属于它的文本框。如何从中继器行的div获取文本框控件?
为了管理这一点,我将productID绑定到了文本框所在的div,以便我可以获取正确的文本框。我的问题是如何获得这个文本框的价值?
这里是div
<td id="Td1" class="cart_update" runat="server" style="border-width: 0px 1px 1px 0px;">
<div id='<%# DataBinder.Eval(Container.DataItem, "ProductID") %>' runat="server">
<asp:TextBox ID="tbx" Text='<%# DataBinder.Eval(Container.DataItem, "ProductAmount") %>' CssClass="carttextbox" runat="server" />
<asp:Button ID="btn_update" runat="server" OnCommand="btn_update_Click" Text="Update" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ProductID") %>' />
<asp:Button ID="btn" runat="server" OnCommand="btn_Click" Text="Remove" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ProductID") %>' />
</div>
</td>
这是我在我后面的代码到目前为止
protected void btn_update_Click(object sender, CommandEventArgs e)
{
int command = Convert.ToInt32(e.CommandArgument);
foreach(RepeaterItem item in Repeater1.Items)
{
TextBox tbx = find the right textbox;
if(tbx != null)
{
foreach (ShoppingCart r in cart.shoppingcart)
{
if (r.ProductID == command)
{
r.ProductAmount = Convert.ToInt32(tbx.Text);
}
}
}
}
}
您是否尝试过这样的:http://msdn.microsoft.com/en-us/library/486wc64h(v=vs.110).aspx? –
你想找到正确的文本框? – Damith
可能重复[如何在中继器控制FindControls?](http://stackoverflow.com/questions/1736552/how-to-findcontrols-in-repeater-control) – Agat