/ / Łączenie metod Razor / Fluent nie działa z podziałem linii - asp.net-mvc, asp.net-mvc-3, razor

Metoda Razor Method Chaining / Fluent nie działa z podziałem wierszy - asp.net-mvc, asp.net-mvc-3, brzytwa

Powiedzmy, że mam płynną składnię w maszynce do golenia, taką jak ta:

@Model.ListOfStuff.Where(x=>x.StuffProp == "Some Stuff").FirstOrDefault().SomeOtherProp

Ale powiedzmy, że to naprawdę było naprawdę długieponieważ jest to pomocnik, który buduje złożoną siatkę. Jeśli wszystko jest na jednej linii, działa dobrze, ale gdy jest na więcej niż jednej linii, rozpada się. Jak mogę to naprawić?

@Model.ListOfStuff.Where(x=>x.StuffProp == "Some Stuff")
.FirstOrDefault().SomeOtherProp

Odpowiedzi:

8 dla odpowiedzi № 1

Posiadanie takiej składni w widoku jest po prostu źle i nie mogę się na to bardziej stresować. Widok nie jest odpowiedzialny za filtrowanie i pobieranie danych. Jego zadaniem jest pokazywanie danych dostarczonych przez kontroler. Dlatego zdecydowanie zaleciłbym użycie modelu widoku i wykonanie wszystkich zaznaczeń i innych rzeczy w kontrolerze, więc że w widoku wszystko co musisz napisać to:

@Model.SomeStuff

Jak widać, nie powinieneś już martwić się o łamanie linii w widoku.

Ale aby odpowiedzieć na twoje pytanie, brzydota może być owinięta nawiasami:

@(Model.ListOfStuff.Where(x => x.StuffProp == "Some Stuff")
.FirstOrDefault().SomeOtherProp)