我想弄清楚如何在我的购物车视图中申请“运费是第一件商品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