Анонимный тип в событии Repeater DataBound
-
06-07-2019 - |
Вопрос
Я устанавливаю источник данных ретранслятора ASP.NET следующим образом:
rptTargets.DataSource = from t in DB.SalesTargets select new { t.Target, t.SalesRep.RepName };
Теперь, в событии OnDataBound повторителя, как я могу извлечь свойства RepName и Target из анонимного типа, содержащегося в e.Item.DataItem?
Большое спасибо
Решение
Вы можете использовать DataBinder.Eval :
string repName = (string)DataBinder.Eval(e.Item.DataItem, "RepName");
string target = (string)DataBinder.Eval(e.Item.DataItem, "Target");
Другие советы
Я знаю, что на этот вопрос был дан ответ более года назад, но я только что нашел решение .NET 4.0 для этой проблемы.
Когда вы связываете свой анонимный тип с ретранслятором, вы можете получить доступ к свойствам события OnDataBound следующим образом:
dynamic targetInfo = e.Item.DataItem as dynamic;
string repName = targetInfo.RepName;
string target = targetInfo.Target;
Не связан с StackOverflow