C# 中继器数据绑定事件中的匿名类型

C# 中继器数据绑定事件中的匿名类型,c#,asp.net,repeater,anonymous-types,databound,C#,Asp.net,Repeater,Anonymous Types,Databound,我将ASP.NET中继器的数据源设置如下: rptTargets.DataSource = from t in DB.SalesTargets select new { t.Target, t.SalesRep.RepName }; 现在,在repeater的OnDataBound事件中,如何从e.Item.DataItem中包含的匿名类型检索RepName和目标属性 非常感谢您可以使用: 我知道这个问题已经在一年多前得到了回答,但我刚刚找到了一个解决这个问题的.NET4.0解决方案 将匿名类

我将ASP.NET中继器的数据源设置如下:

rptTargets.DataSource = from t in DB.SalesTargets select new { t.Target, t.SalesRep.RepName };
现在,在repeater的OnDataBound事件中,如何从e.Item.DataItem中包含的匿名类型检索RepName和目标属性

非常感谢

您可以使用:


我知道这个问题已经在一年多前得到了回答,但我刚刚找到了一个解决这个问题的.NET4.0解决方案

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

dynamic targetInfo = e.Item.DataItem as dynamic;

string repName = targetInfo.RepName;
string target = targetInfo.Target;

如果我必须对targetInfo中的成员设置一个条件,比如if(targetInfo.RepName==“”),那么该怎么办?如何设定条件?因为它给了我一个例外,它没有这样的类型。在这种情况下,您可能应该执行类似于
string repName=targetInfo.repName;如果(repName==“”){…}
dynamic targetInfo = e.Item.DataItem as dynamic;

string repName = targetInfo.RepName;
string target = targetInfo.Target;