我正在嘗試製作購物車,當我按下更新產品的更新按鈕來更新該產品的數量時,我需要獲取屬於它的文本框。如何從中繼器行的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