Skip to main content
 首页 » 编程设计

c#之循环遍历转发器控件中的嵌套集合

2024年01月28日28luoye11

我有一个列表对象

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> .