Я пытаюсь создать корзину покупок, но я застрял в доставке предметов в корзину.Получите информацию от GridViewRow, используя индекс строки
Я загрузке мой список элементов, используя список:
<asp:GridView ID="gridItems" runat="server" AllowPaging="True" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC"
BorderStyle="None" BorderWidth="1px" CellPadding="3" Height="227px"
onselectedindexchanged="GridView1_SelectedIndexChanged1" Width="651px"
HorizontalAlign="Center" DataKeyNames="ID" style="margin-top: 0px" OnRowCommand = "gridItems_RowCommand">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table align="center" style="width:37%; height: 146px;">
<tr>
<td class="style5" colspan="2">
<asp:Image ID="imgArt" runat="server" Height="110px" Width="160px"
ImageUrl=<%# DataBinder.Eval(Container.DataItem,"Imagen")%> />
</td>
</tr>
<tr>
<td colspan="2" style="text-align: center">
<asp:Label ID="lblName" runat="server" CssClass="textEntry"
style="text-align: center" Text=""><%# DataBinder.Eval(Container.DataItem,"Nombre")%></asp:Label>
<br />
<asp:Label ID="lblCategory" runat="server"><%# DataBinder.Eval(Container.DataItem,"Categoria")%></asp:Label>
</td>
</tr>
<tr>
<td class="style6">
Cantidad:
<asp:TextBox ID="txtCant" runat="server" CssClass="textEntry" Height="25px"
Width="33px">1</asp:TextBox>
</td>
<td class="style7">
<asp:Button ID="btnAddToCart" CssClass = "textEntry" runat="server" CommandName="Add to cart" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" Text="Add to cart" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
После строки щелкнул, я обрабатывать событие с RowCommand:
protected void gridItems_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "AddToCart")
{
// Retrieve the row index stored in the
// CommandArgument property.
int index = Convert.ToInt32(e.CommandArgument);
// Retrieve the row that contains the button
// from the Rows collection.
GridViewRow row = this.gridItems.Rows[index];
}
}
Проблема заключается в том, что после того, как я получаю «row», он имеет только индекс сетки, и я не знаю, как вернуть его обратно объекту, используя информацию, содержащуюся в строке.
Я ценю помощь :)
Спасибо, что на самом деле я решил это, сделав то же самое, но используя текстовое поле. Никогда не осознавал, что проблема была у меня никогда не было прежде чем привязать данные к полю «Текст». – Mariano