Tipo anónimo en evento Repeater DataBound
-
06-07-2019 - |
Pregunta
Estoy configurando el DataSource de un repetidor ASP.NET de la siguiente manera:
rptTargets.DataSource = from t in DB.SalesTargets select new { t.Target, t.SalesRep.RepName };
Ahora, en el evento OnDataBound del repetidor, ¿cómo puedo recuperar las propiedades RepName y Target del tipo anónimo contenido en e.Item.DataItem?
Muchas gracias
Solución
Puede usar DataBinder.Eval :
string repName = (string)DataBinder.Eval(e.Item.DataItem, "RepName");
string target = (string)DataBinder.Eval(e.Item.DataItem, "Target");
Otros consejos
Sé que esta pregunta se respondió hace más de un año, pero acabo de encontrar una solución .NET 4.0 para este problema.
Cuando vincula su tipo anónimo a un repetidor, puede acceder a las propiedades en el evento OnDataBound de esta manera:
dynamic targetInfo = e.Item.DataItem as dynamic;
string repName = targetInfo.RepName;
string target = targetInfo.Target;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow