5

我正试图了解淘汰赛 mvc 框架。我正在查看购物车的样本并试图弄清楚:

  1. 如何计算总成本
  2. 在哪里添加客户端业务规则(例如折扣和优惠券)

要计算小计,代码读取

@using (lines.If(m => m.ProductId != -1))
{
    using (var product = lines.With(m => ko.Model.DataBase[m.CategoryId].Products[m.ProductId]))
    {
        @product.Html.Span(m => "\\$" + m.Price)                  
    }
}

当我尝试从那里获取总数时,我通常会在运行时遇到编译器异常或 NullReferenceException。例如

@using (lines.If(m => m.ProductId != -1))
{
    using (var product = lines.With(m => ko.Model.Categories[m.CategoryId].Products[m.ProductId]))
    {
        @product.Html.Span(m => "\\$" + (lines.Model.Quantity * m.Price))                                                       
        @{double total = lines.Model.Quantity * m.Price;}
    }
}

给我

编译器错误消息:CS1501:方法 'Write' 没有重载需要 0 个参数

好像我做错了。有人会指出我正确的方向吗?

4

1 回答 1

0

您是否尝试过从每行的开头删除 @ 符号?我敢肯定,一旦你打开了一个剃刀代码块,你就不需要在每一行前面加上@。另外,不确定为什么“双总数”行包含在 {} 中?

@using (var product = lines.With(m => ko.Model.Categories[m.CategoryId].Products[m.ProductId]))
{
    product.Html.Span(m => "\\$" + (lines.Model.Quantity * m.Price));
    double total = lines.Model.Quantity * m.Price;
}
于 2013-10-04T00:11:45.400 回答