2012-07-29 4 views
5

knockout mvc 프레임 워크 주위에 내 머리를 얻으려고합니다. 나는 sample of a shopping cart보고 알아 내려고 노력하고 있어요 : 녹아웃 mvc 카트 샘플에서 총 카트 값을 계산하는 방법

  1. 어떻게 총 비용을 계산 (예 : 할인 및 상품권 등) 클라이언트 측 비즈니스 규칙

를 추가 할 수

  • 코드의 소계를 계산하려면

    @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이 발생합니다. 방법 '쓰기'에 대한 과부하를 내가 잘못하고 있어요처럼

    이 보인다 0 인수

    를 취합니다 CS1501를 예를 들어

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

    나에게

    컴파일러 오류 메시지를 제공하지 않습니다. 누구든지 올바른 방향으로 나를 가리킬까요?

  • +0

    이 오류는 다음 중 어떤 점을 나타 냅니까? 또한, 이것은 KO를 일반적으로 또는 KO MVC 프레임 워크에서 사용하려는 첫 번째 시도입니까? –

    답변

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