我有一个列表对象

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/

10-13 00:26