我有一个列表对象
List<Documents>
,里面还有另一个帐户清单清单。
List<Accounts>
从我的代码隐藏中,我将List连接到转发器控件
rptDocumentListings.DataSource = List<Documents>;
rptDocumentListings.DataBind();
虽然转发器遍历列表中的每个项目,但我希望它也遍历帐户的每个嵌套列表,然后使用标记进行渲染。到目前为止,这是我尝试过的:
//in the dataRepeater
<%# parseAccountNumbers(Eval("Accounts"))%>
//method in codebehind
public string parseAccountNumbers(List<Account> accounts)
{
string allAccounts = string.Empty;
foreach (var item in accounts)
{
allAccounts += string.Format("{0}<br />", item.AccountNumber);
}
return allAccounts;
}
我得到的错误是“无法从“对象”转换为“ System.Collections.List”
有人可以指出正确的方向吗?提前致谢。
最佳答案
更改
<%# parseAccountNumbers(Eval("Accounts"))%>
至
<%# parseAccountNumbers((List<Account>)Eval("Accounts"))%>
DataBinder.Eval返回一个
Object
,并且您的方法需要一个List<Account>
。关于c# - 在转发器控件中循环通过嵌套集合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10076529/