Po kilku miesiącach pracy w MVC wróciłem do wcześniej napisanej aplikacji WebForms 3.5 i próbuję naprawić to, co mogę, dzięki temu, czego się nauczyłem.Obsługa Linq Lamba w WebForms ASCX
Częściowo jest to koncepcja "mocno napisanego modelu z częściowym widokiem", która jest niesamowicie niesamowita. Przez dziedziczenie mój własny „ListTemplate” kontrolę, mogę potem wykorzystać swoje metody GetModel(), aby dostać coś przypominającego to:
<% List<Models.CaseStudy> model = GetModel<Models.CaseStudy>(); %>
mogę następnie uruchomić foreach nad modelem i wszyscy są szczęśliwi. Jednak chciałem zrobić zgrupowanie więc dodałem odniesień do:
Potem, z nieco mniej niż idealnej składni, próbowałem:
<% IEnumerable<IGrouping<string, Models.CaseStudy>> model = GetModel<Models.CaseStudy>().GroupBy(e => e.Client.Name); %>
Ale nie! "Komunikat o błędzie kompilatora: CS1525: Nieprawidłowy termin wyrażeń"> "" i wygląda na to, że jest to błąd lambda. Nie działa, jeśli ustawię GroupBy() w parametrach foreach.
Czy istnieje sposób na uzyskanie lambdas pracy w plikach ASCX?
Ah, mówi: Informacje o wersji: Microsoft .NET Framework Wersja: 2.0.50727.3053; Wersja ASP.NET: 2.0.50727.3053. Jak mogę określić v3.5 i dlaczego pliki ASCX będą przetwarzane inaczej niż reszta mojej witryny (która jest zdecydowanie v3.5, ponieważ ustawiona jako struktura docelowa w panelu właściwości projektu WWW)? – tags2k
Na marginesie, typem zwrotu GetModel jest lista –
tags2k
Posortowano ją teraz - to dziwne. Skonfiguruj nowy projekt 3.5, aby porównać pliki web.config iz jakiegoś powodu sekcja system.costedom> compilers była pusta w moim drugim projekcie! Zastanawiam się, jak długo tak było! – tags2k