Nachdem ich einige Monate in MVC gearbeitet habe, bin ich zurück in einer zuvor geschriebenen WebForms 3.5-Anwendung und versuche, das, was ich gelernt habe, wieder herzustellen.Linq Lamba-Unterstützung in WebForms ASCX
Teil davon ist das "stark typisierte Modell mit einer Teilansicht" -Konzept, das unglaublich genial ist. Durch vererben Kontrolle meiner Gewohnheit „Listtemplate“, kann ich dann seine Verwendung getModel() -Methode so etwas wie diese zu erhalten:
<% List<Models.CaseStudy> model = GetModel<Models.CaseStudy>(); %>
dann kann ich ein foreach über Modell laufen, und alle sind glücklich. Allerdings wollte ich eine Gruppierung tun, damit ich Verweise auf hinzugefügt:
Dann, mit einem etwas weniger als ideal Syntax versucht, dies:
<% IEnumerable<IGrouping<string, Models.CaseStudy>> model = GetModel<Models.CaseStudy>().GroupBy(e => e.Client.Name); %>
Aber nein! "Compilerfehlermeldung: CS1525: Ungültiger Ausdrucksterm '>'" - und es scheint der Lambda-Fehler zu sein. Es funktioniert nicht, wenn ich GroupBy() auch in die foreach-Parameter einfüge.
Gibt es eine Möglichkeit, Lambdas in ASCX-Dateien arbeiten zu lassen?
Ah, es heißt: Versionsinformation: Microsoft .NET Framework Version: 2.0.50727.3053; ASP.NET-Version: 2.0.50727.3053. Wie kann ich v3.5 angeben, und warum würden ASCX-Dateien anders als der Rest meiner Site verarbeitet werden (was definitiv v3.5 ist, wie es im Webprojekt-Eigenschaftenbereich als Zielframework festgelegt wurde)? – tags2k
Nebenbei ist der Rückgabetyp von GetModel Liste –
tags2k
Sortierte es jetzt - das ist seltsam. Richten Sie ein neues 3.5-Projekt ein, um die web.config-Dateien zu vergleichen, und aus irgendeinem Grund war der Abschnitt system.codedom> compilers leer von meinem anderen Projekt! Ich frage mich, wie lange es so war! – tags2k