2011-11-01 10 views
7

Próbuję napisać oświadczenie o składni Razor, które używa siatki mvccontrib, gdzie fluent interface wydaje instrukcję w długiej linii. Chcę rozpraszają go wielokrotność liniami takimi jak ten:Wyciągi z wieloma wierszami z maszynką Razor w języku 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.") 

Czy to możliwe, aby umieścić nawiasy, które są na początku ostatnich dwóch linii na końcu każdej linii poprzednich?

Kiedy próbuję umieścić nawiasy na końcu każdej linii i próbuję rozpocząć pisanie nowej linii kropką, ta nowa linia jest interpretowana jako tekst na surowe wyjście.

Uważam za dziwne, że nowe linie zaczynają się od nawiasów.

Odpowiedz

17

Wystarczy dodać otwarty nawias na początku fragmentu kodu. Zmienić swój kod do:

@(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.")) 

Na bok, to na ogół uważane za lepsze stylu kodu, aby rozpocząć nowe linie w płynny interfejs z kropką zamiast nawiasów zamykających z poprzedniego wiersza. Jak w tym przykładzie.

+0

Dziękuję bardzo. Po prostu proste i działa. – Samuel

+0

+1 dla uwagi dot-at-the-new-line. –

Powiązane problemy