我正在设置ASP.NET转发器的DataSource,如下所示:
rptTargets.DataSource = from t in DB.SalesTargets select new { t.Target, t.SalesRep.RepName };
现在,在转发器的OnDataBound事件中,如何从e.Item.DataItem中包含的匿名类型中检索RepName和Target属性?
非常感谢
答案 0 :(得分:20)
您可以使用DataBinder.Eval:
string repName = (string)DataBinder.Eval(e.Item.DataItem, "RepName");
string target = (string)DataBinder.Eval(e.Item.DataItem, "Target");
答案 1 :(得分:13)
我知道这个问题已在一年多前得到解答,但我刚刚找到了解决此问题的.NET 4.0解决方案。
将匿名类型绑定到转发器时,可以像下面这样访问OnDataBound事件中的属性:
dynamic targetInfo = e.Item.DataItem as dynamic;
string repName = targetInfo.RepName;
string target = targetInfo.Target;