Je n'arrive pas à trouver le sous-total de la colonne "price" dans le contrôle du répéteur. Il ne calcule pas le sous-total. Merci d'avance!Recherche du sous-total de la colonne dans le contrôle du répéteur
Voici le balisage au répéteur:
<asp:Repeater ID="rptItem" runat="server" OnItemCommand="rptItem_ItemCommand" OnItemDataBound="rptItem_ItemDataBound">
<HeaderTemplate>
<table id="carttable">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Button ID="btnDelete" runat="server" Text="Delete" CommandName="delete" CommandArgument='<%# Eval("ProductId") %>' /></td>
<td>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("ImageUrl") %>' CssClass="imagecart" /></td>
<td>
<asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("ProductName") %>' NavigateUrl='<%# String.Concat("ProductDetails.aspx?ProductId=", Eval("ProductId")) %>'></asp:HyperLink></td>
<td>
<asp:Label ID="Label1" runat="server" Text='<%# String.Format("{0:C}", Eval("Price")) %>'></asp:Label></td>
<td>
<asp:TextBox ID="txtQty" runat="server" Width="50"></asp:TextBox><asp:Button ID="btnUpdate" runat="server" Text="update" /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
Subtotal:
<asp:Label ID="lblSubtotal" runat="server" Text="Label"></asp:Label>
</FooterTemplate>
</asp:Repeater>
Voici le code derrière:
protected void rptItem_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "delete")
{
List<Item> items = Session["Cart"] as List<Item>;
var productId = Convert.ToInt32(e.CommandArgument);
var itemToDelete = (from Item i in items
where i.ProductId == productId
select i).FirstOrDefault();
items.Remove(itemToDelete);
Session["Cart"] = items;
}
BindData();
}
protected void rptItem_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
double subtotal = 0;
double price = 0;
if (e.Item.ItemType == ListItemType.Item)
{
price += Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "Price"));
subtotal += price;
}
if (e.Item.ItemType == ListItemType.Footer)
{
Label lblSubtotal = (Label)e.Item.FindControl("lblSubtotal");
lblSubtotal.Text = subtotal.ToString();
}
}
Avez-vous des exceptions? –
Non, je n'ai pas eu d'exception @KaushikMaheta –
Alors, quel est votre problème? –