2012-07-29 9 views
5

Sto cercando di capire come funziona la struttura in PVC ad eliminazione diretta. Sto guardando la sample of a shopping cart e cercando di capire:Come calcolare il valore totale del carrello dal campione di carrello in mc a eliminazione diretta

  1. Come calcolare il costo totale
  2. Dove aggiungere regole di business lato client (come ad esempio sconti e buoni)

Per calcolare il subtotale il codice legge

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

Quando I tr y per ottenere il totale da lì di solito finisco con un'eccezione del compilatore o NullReferenceException in fase di esecuzione. Per esempio

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

Mi dà

Messaggio di errore del compilatore: CS1501: Nessun sovraccarico per il metodo 'Write' prende 0 argomenti

sembra che io sto facendo male. Qualcuno mi avrebbe indirizzato nella giusta direzione?

+0

Quale riga indica questo errore? Inoltre, questo è il tuo primo tentativo di usare KO in generale o solo il framework KO MVC? –

risposta

0

Hai provato a rimuovere il simbolo @ dall'inizio di ogni riga? Sono sicuro che una volta aperto un blocco di codice del rasoio, non è necessario mantenere prepending ogni riga con @. Inoltre, non sono sicuro del motivo per cui la linea "double total" è racchiusa in {}?

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