2017-09-17 17 views
1

私はショッピングカートで合計金額を検索したいと思います。私の "shop-cart.aspx"コードは以下の通りですが、 "shop-cart.aspx.cs"ページでどのように合計金額を見つけることができますか?リピータの合計価格を確認するには

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1" OnItemDataBound="Repeater1_ItemDataBound"> 
    <ItemTemplate> 
     <tr> 
      <td class="text-left"><%#Eval("productname") %></td> 
      <td class="text-left"><%#Eval("price") %></td> 
      <td class="product-subtotal text-left"><%#Eval("piece") %></td> 
     </tr> 
    </ItemTemplate> 
</asp:Repeater> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:aytasarimConnectionString %>" SelectCommand="SELECT * FROM [cart] WHERE ([userid] = @userid)"> 
    <SelectParameters> 
     <asp:SessionParameter Name="userid" SessionField="userid" Type="Int32" /> 
    </SelectParameters> 
</asp:SqlDataSource> 

私はこれを試しましたが、私はENエラーを受け取りました。

string totalprice; 
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     totalprice += Convert.ToDecimal(DataBinder.Eval(e.Item.DataItem, "price")) * Convert.ToDecimal(DataBinder.Eval(e.Item.DataItem, "piece")); 
     LblTotalPrice.Text = totalprice; 
    } 
} 

答えて

1

変数をItemDataBoundメソッドの外に作成します。その後、変数にすべてのアイテムの価格を追加し、結果を表示します。

decimal total = 0; 

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    DataRowView item = e.Item.DataItem as DataRowView; 
    total += Convert.ToDecimal(item["itemid"]); 

    Label1.Text = string.Format("{0:C}", total); 
} 
関連する問題