tipo anônimo no evento Repeater DataBound
-
06-07-2019 - |
Pergunta
Eu estou definindo o DataSource de um repetidor ASP.NET da seguinte forma:
rptTargets.DataSource = from t in DB.SalesTargets select new { t.Target, t.SalesRep.RepName };
Agora, no evento OnDataBound do repetidor, como posso recuperar as propriedades RepName e destino a partir do tipo anônimo contida no e.Item.DataItem?
Muito obrigado
Solução
Você pode usar DataBinder.Eval :
string repName = (string)DataBinder.Eval(e.Item.DataItem, "RepName");
string target = (string)DataBinder.Eval(e.Item.DataItem, "Target");
Outras dicas
Eu sei que esta pergunta já foi respondida mais de um ano atrás, mas eu acabei de encontrar uma solução .NET 4.0 para este problema.
Quando você vincular seu tipo anônimo para um repetidor, você pode acessar as propriedades em caso OnDataBound assim:
dynamic targetInfo = e.Item.DataItem as dynamic;
string repName = targetInfo.RepName;
string target = targetInfo.Target;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow