Как добавить элемент datalist во временную таблицу корзины в ASP.NET
привет всем,
я хотел бы добавить свой элемент datalist во временную таблицу корзины (таблица данных) , когда я нажимаю на кнопку изображения элемента datalist ..plz tel me, уже пробовал некоторые , но он показывал одну деталь элемента повторяется , а также если я нажимаю на другой элемент предыдущий элемент был потерян из таблицы данных, пожалуйста, помогите мне....
Что я уже пробовал:
protected void dl_beers_ItemCommand(object source, DataListCommandEventArgs e) { if (e.CommandName == "item_plus") { // Label lblprice = (Label)(e.Item.FindControl("lbl_beer_price")); Label lblcart = (Label)(e.Item.FindControl("lbl_items_order")); Label lblitem = (Label)(e.Item.FindControl("lbl_beer_name")); Label lblpid = (Label)(e.Item.FindControl("lbl_pid")); int order = Convert.ToInt16(lblcart.Text); order = order + 1; int index = e.Item.ItemIndex; Label lblprice = (Label)dl_beers.Items[index].FindControl("lbl_beer_price"); //for price float price = float.Parse(lblprice.Text); price = price * order; Convert.ToSingle(price); //add to cart DataTable dt = new DataTable(); dt.Columns.Add("pid",typeof(string)); dt.Columns.Add("pname",typeof(string)); dt.Columns.Add("pprice", typeof(string)); for (int i = dt.Rows.Count; i <= Convert.ToInt32(lblcart.Text); i++) //for (int i = 0; i <= Convert.ToInt32(lblcart.Text); i++) { dt.Rows.Add(lblpid.Text, lblitem.Text, lblprice.Text); addtocart(); ViewState["dt"] = dt; this.BindGrid(); } lblcart.Text = Convert.ToString(order); } if (e.CommandName == "item_minus") { // int ordercount = Convert.ToInt16(spn_beersorder.InnerText); Label lblcart = (Label)(e.Item.FindControl("lbl_items_order")); int order = Convert.ToInt16(lblcart.Text); if (order > 0) { order = order - 1; // beers_order = order; lblcart.Text = Convert.ToString(order); // ordercount = ordercount - 1; // spn_beersorder.InnerText = Convert.ToString(ordercount); } else { order = 0; lblcart.Text = Convert.ToString(order); // spn_beersorder.InnerText = Convert.ToString(order+"x"); } } }
мой код aspx
----------------------
<asp:DataList ID="dl_beers" OnItemCommand="dl_beers_ItemCommand" Width="100%" CellSpacing="10" DataKeyField="pid" ItemStyle-HorizontalAlign="Center" RepeatDirection="Vertical" RepeatColumns="1" RepeatLayout="Table" runat="server"> <HeaderTemplate> <table><thead> <table><tbody><tr style=" border-bottom-style: solid;border-width:thin;border-color: #EAEAEA; text-align:center;"> <th> Item </th> <th> Name </th> <th> Volume </th> <th> Price </th> <th style=" text-align:left;"> Order </th> </tr></tbody></table> </thead></table> </HeaderTemplate> <itemtemplate> <table><tbody> <tr class="c_dl_products_alter"> <td> <asp:Image ID="img_item_beer" CssClass="img-responsive img img-thumbnail" Height="70px" Width="50px" ImageUrl='<%#"../admin/"+Eval("pimgpath") %>' runat="server" /> </td> <td> <asp:Label ID="lbl_beer_name" Font-Bold="true" runat="server" Text='<%#Eval("pname") %>'> <p runat="server" id="p_beer_desc"> <%#Eval("pdisc") %> <asp:Label ID="lbl_o" runat="server" Text="Label"> </td> <td> <asp:Label ID="lbl_beer_volume" Font-Bold="true" runat="server" Text='<%#Eval("pvolume") %>'> </td> <td> <asp:Label ID="lbl_beer_price" Font-Bold="true" runat="server" Text='<%#Eval("pprice") %>'> </td> <td style="text-align:center; width:110px;"> <div class="c_div_btn_cart"> <asp:ImageButton ID="imgbtn_minus" ImageUrl="img/minus.png" CssClass="img-circle img-responsive img c_imgbtns" CommandName="item_minus" CommandArgument='<%#Eval("pid") %>' runat="server" /> </div> <div class="c_div_itemquntity"> <asp:Label ID="lbl_items_order" Font-Bold="true" CssClass="lbl_p_quantiy" runat="server" Text="0"> </div> <div class="c_div_btn_cart"> <asp:ImageButton ID="imgbtn_plus" ImageUrl="img/plus.png" CssClass="img-circle img-responsive img c_imgbtns" CommandArgument='<%#Eval("pid") %>' CommandName="item_plus" runat="server" /> </div> <asp:Label ID="lbl_pid" runat="server" Visible="false" Text='<%#Eval("pid") %>'> </td> </tr> </tbody></table> </itemtemplate>
// просмотр корзины
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" > <alternatingrowstyle backcolor="White" forecolor="#284775" /> <columns> <asp:BoundField DataField="pid" HeaderText="ID" ItemStyle-Width="150" > <itemstyle width="150px" /> <asp:BoundField DataField="pname" HeaderText="Name" ItemStyle-Width="150" > <itemstyle width="150px" /> <asp:BoundField DataField="pprice" HeaderText="price" ItemStyle-Width="150" > <itemstyle width="150px" /> <asp:TemplateField> <itemtemplate> <asp:LinkButton ID="LinkButton1" Text="Edit" runat="server" CommandName="Edit" /> </itemtemplate> <edititemtemplate> <asp:LinkButton ID="LinkButton2" Text="Update" runat="server" /> <asp:LinkButton ID="LinkButton3" Text="Cancel" runat="server" /> </edititemtemplate> </columns> <editrowstyle backcolor="#999999" /> <footerstyle backcolor="#5D7B9D" font-bold="True" forecolor="White" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <pagerstyle backcolor="#284775" forecolor="White" horizontalalign="Center" /> <rowstyle backcolor="#F7F6F3" forecolor="#333333" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> <sortedascendingcellstyle backcolor="#E9E7E2" /> <sortedascendingheaderstyle backcolor="#506C8C" /> <sorteddescendingcellstyle backcolor="#FFFDF8" /> <sorteddescendingheaderstyle backcolor="#6F8DAE" />
ZurdoDev
Все, что вам нужно сделать, это отладить свой код. Кто-то может просмотреть все это и сделать это за вас, но вряд ли.