2011-11-01 19 views
7

Provo a scrivere una dichiarazione con la sintassi Razor che utilizza la griglia mvccontrib dove un fluent interface rende l'istruzione in una lunga riga. Voglio disperdere in linee multipli come questo:Istruzioni multi linea con Razor in C#

@Html.Grid(Model).Columns(column => 
     { 
      column.For(x => Html.ActionQueryLink(x.Name, "Edit", new { id = x.Id })).Named("Name"); 
      column.For(x => x.Number).Named("Number"); 
     } 
     ).Attributes(@class => "grid-style" 
     ).Empty("No data.") 

E 'possibile mettere le parentesi che si trovano all'inizio delle ultime due righe alla fine delle righe precedenti di ciascuno?

Quando provo a mettere le parentesi alla fine di ogni riga e cerco di iniziare a scrivere una nuova riga con un punto, questa nuova riga viene interpretata come un testo per l'output grezzo.

Trovo strano che le nuove righe inizino con una parentesi.

risposta

17

È sufficiente aggiungere una parentesi aperta all'inizio del nugget del codice. Modificare il codice per:

@(Html.Grid(Model) 
    .Columns(column => 
    { 
     column.For(x => Html.ActionQueryLink(x.Name, "Edit", new { id = x.Id })).Named("Name"); 
     column.For(x => x.Number).Named("Number"); 
    }) 
    .Attributes(@class => "grid-style") 
    .Empty("No data.")) 

Su un migliore stile di codice a parte, è generalmente considerato per iniziare nuove linee in un'interfaccia fluida con il punto, piuttosto che le parentesi di chiusura della linea precedente. Come in questo esempio.

+0

Grazie mille. Semplicemente semplice e funziona. – Samuel

+0

+1 per il commento punto-a-nuova-riga. –

Problemi correlati