10

我将 ASP.NET 中继器的 DataSource 设置如下:

rptTargets.DataSource = from t in DB.SalesTargets select new { t.Target, t.SalesRep.RepName };

现在,在转发器的 OnDataBound 事件中,如何从 e.Item.DataItem 中包含的匿名类型中检索 RepName 和 Target 属性?

非常感谢

4

2 回答 2

23

您可以使用DataBinder.Eval

string repName = (string)DataBinder.Eval(e.Item.DataItem, "RepName");
string target = (string)DataBinder.Eval(e.Item.DataItem, "Target");
于 2009-07-31T12:19:05.640 回答
13

我知道这个问题已经在一年前得到解答,但我刚刚为这个问题找到了一个 .NET 4.0 解决方案。

当您将匿名类型绑定到转发器时,您可以访问 OnDataBound 事件中的属性,如下所示:

dynamic targetInfo = e.Item.DataItem as dynamic;

string repName = targetInfo.RepName;
string target = targetInfo.Target;
于 2010-08-12T12:25:54.163 回答