MVC에서 몇 달간 일한 후 이전에 작성한 WebForms 3.5 응용 프로그램으로 돌아가서 배웠던 것을 수정하려고합니다.WebForms ASCX에서 Linq Lamba 지원
"부분보기가있는 강력한 형식의 모델"이라는 개념이 매우 훌륭합니다. 내 사용자 지정 "ListTemplate"컨트롤을 상속, 나는 다음이를 닮은 무언가를 얻기 위해 자신을 getModel() 메소드를 사용할 수 있습니다
<% List<Models.CaseStudy> model = GetModel<Models.CaseStudy>(); %>
나는 그 모델을 통해 foreach 문을 실행할 수 있으며, 모두가 행복하다. 약간보다 적게보다는 이상적인 구문,
그런 다음이 시도 : 그러나, 나는에 대한 참조를 추가하도록 그룹화를하고 싶었다
<% IEnumerable<IGrouping<string, Models.CaseStudy>> model = GetModel<Models.CaseStudy>().GroupBy(e => e.Client.Name); %>
을하지만! "컴파일러 오류 메시지 : CS1525 : 유효하지 않은 표현식 용어 '>'"- 오류시 람다로 나타납니다. foreach 매개 변수 중 하나에 GroupBy()를 넣으면 작동하지 않습니다.
람다를 ASCX 파일 내에서 작동시키는 방법이 있습니까?
아, 이렇게 말합니다. 버전 정보 : Microsoft .NET Framework 버전 : 2.0.50727.3053; ASP.NET 버전 : 2.0.50727.3053. v3.5를 어떻게 지정할 수 있습니까? 왜 ASCX 파일이 다른 사이트와 다른 방식으로 처리됩니까? (웹 프로젝트 속성 창에서 대상 프레임 워크로 설정 한 v3.5) – tags2k
제쳐두고, GetModel의 반환 유형은 List –
tags2k
입니다. 이제 정렬되었습니다. 이상합니다. web.config 파일을 비교하기 위해 새 3.5 프로젝트를 설정하고 어떤 이유로 system.codedom> 컴파일러 섹션이 다른 프로젝트에서 비어 있습니다! 얼마나 오래되었는지 궁금해! – tags2k