【问题标题】:How to calculate total cart value from knockout mvc cart sample如何从淘汰赛 mvc 购物车样本中计算购物车总价值
【发布时间】:2012-07-27 11:55:30
【问题描述】:

我正试图了解淘汰赛 mvc 框架。我正在查看sample of a shopping cart 并试图弄清楚:

  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 论据

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

【问题讨论】:

  • 这个错误指向哪一行?此外,这是您第一次尝试使用一般的 KO 还是仅使用 KO MVC 框架?

标签: asp.net-mvc knockout.js knockout-mvc


【解决方案1】:

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

@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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    相关资源
    最近更新 更多