Después de haber trabajado en MVC durante unos meses, estoy de regreso en una aplicación WebForms 3.5 previamente escrita, y estoy tratando de arreglar lo que pueda con lo que he aprendido.Soporte de Linq Lamba en WebForms ASCX
Parte de esto es el concepto de "modelo fuertemente tipado con una vista parcial" que es increíblemente increíble. Heredando mi costumbre de control "ListTemplate", que puede entonces utilizar su método getModel() para obtener algo parecido a esto:
<% List<Models.CaseStudy> model = GetModel<Models.CaseStudy>(); %>
entonces puedo ejecutar un foreach sobre el modelo, y todo está feliz. Sin embargo, lo que quería hacer una agrupación por lo que añade referencias a:
Entonces, con un poco menos que ideales sintaxis, intentado esto:
<% IEnumerable<IGrouping<string, Models.CaseStudy>> model = GetModel<Models.CaseStudy>().GroupBy(e => e.Client.Name); %>
Pero no! "Mensaje de error del compilador: CS1525: término de expresión inválido '>'" - y parece ser el lambda en falta. No funciona si coloco el GroupBy() en los parámetros foreach tampoco.
¿Hay alguna forma de que lambdas funcione dentro de los archivos ASCX?
Ah, sí dice: Información de la versión: Microsoft .NET Framework Version: 2.0.50727.3053; Versión ASP.NET: 2.0.50727.3053. ¿Cómo puedo especificar v3.5 y por qué los archivos ASCX se procesarían de forma diferente al resto de mi sitio (que definitivamente es v3.5, ya que se configuró como el marco de destino en el panel de propiedades del proyecto web)? – tags2k
Como un lado, el tipo de devolución de GetModel es List –
tags2k
Ordenado ahora - eso es raro. ¡Establecí un nuevo proyecto 3.5 para comparar los archivos web.config y por alguna razón la sección system.codedom> compilers estaba vacía de mi otro proyecto! ¡Me pregunto cuánto tiempo ha sido así! – tags2k