2012-07-29 127 views
5

Tôi đang cố gắng để có được đầu của tôi xung quanh khuôn khổ loại bỏ mvc. Tôi đang tìm kiếm tại sample of a shopping cart và cố gắng tìm ra:Cách tính tổng giá trị giỏ hàng từ mẫu giỏ hàng bỏ túi mvc

  1. Làm thế nào để tính toán tổng chi phí
  2. Nơi để thêm các quy tắc kinh doanh mặt hàng khác (ví dụ như giảm giá và chứng từ)

Để tính tổng phụ, mã đọc

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

Khi tôi tr y để có được tổng số từ đó tôi thường kết thúc với một ngoại lệ trình biên dịch hoặc NullReferenceException trong thời gian chạy. Ví dụ

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

Cung cấp cho tôi

Compiler Error Message: CS1501: Không có tình trạng quá tải cho phương pháp 'Viết' mất 0 luận

Có vẻ như tôi đang làm sai. Có ai chỉ cho tôi đi đúng hướng không?

+0

Dòng nào nó chỉ ra lỗi này? Hơn nữa, đây có phải là nỗ lực đầu tiên của bạn khi sử dụng KO nói chung hay chỉ là khuôn khổ KO MVC? –

Trả lời

0

Bạn đã thử xóa biểu tượng @ từ đầu mỗi dòng chưa? Tôi chắc chắn một khi bạn mở một khối mã dao cạo, bạn không cần phải tiếp tục chuẩn bị trước mỗi dòng với @. Ngoài ra, không chắc chắn tại sao dòng 'tổng cộng kép' được bao bọc trong {}?

@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; 
} 
Các vấn đề liên quan