我想弄清楚如何在我的購物車視圖中申請「運費是第一件商品3.99美元,每件附加商品是0.99美元」。計算ASP.NET MVC中的總髮貨
現在我有
@{
double itemTotal = 0;
double subTotal = 0;
int totalQty = 0;
double discount = 0.8;
double shippingBase = 3.99;
double shippingItem = 0.99;
double totalShipping = 0;
}
@foreach (var item in Model)
{
double price = (double)item.price/100 * discount;
itemTotal = @item.qty * price;
subTotal += itemTotal;
totalQty += @item.qty;
我不知道如何處理這一點。我會用一個foreach循環來計算總數量,如果數量大於那個數字,它會加3.99 + 99?
最好在控制器中做這個calc並返回一個合適的ViewModel。不要將視圖用於業務邏輯 – Steve
運費成本的計算可以在購物車類中完成。 Cart類可以包含IEnumerable類型爲- 的屬性Items和ShippingCost屬性,其中實現了爲運輸計算定義的邏輯。然後,您可以在CartViewModel類中定義另一個IEnumerable,以使項目在視圖中呈現,使用@foreach和一個類型爲decimal的屬性ShippingCost來存儲運輸成本。控制器創建CartViewModel類的實例並設置Items和ShippingCost。 –
收費是根據不同物品還是總量?目前尚不清楚,因爲在第一個「項目」之後所述費用不同。但一件物品有數量。 – Nkosi