【问题标题】:How to add a RepeaterItem to an asp:Repeater using the Controls() method如何将 RepeaterItem 添加到 asp:Repeater 使用 Controls() 方法
【发布时间】:2011-10-04 13:21:24
【问题描述】:

我在我的页面上声明了一个 asp:Repeater,ID="AnswersRepeater"。当用户单击页面上的按钮以从表示为“ds”的数据集中加载其他数据时,我正在调用以下代码段。我需要了解 asp:repeater 的控制层次结构,以便我可以在重新绑定到数据源后添加回转发器的项目,如下所示:

Dim currentItems As New ArrayList(AnswersRepeater.Items)
AnswersRepeater.DataSource = ds
AnswersRepeater.DataBind()
For Each item As RepeaterItem In currentItems
   AnswersRepeater.Controls.Add(item)
Next

问题是,RepeaterItem 没有添加到中继器控件层次结构中的正确位置。我需要找到项目模板并将 currentItems 数组中的项目附加到它。非常感谢任何帮助。

【问题讨论】:

    标签: asp.net asprepeater


    【解决方案1】:

    您不应该直接编辑 Repeater 控件的控件,其想法是您绑定到数据源,它会根据该数据源为您动态创建控件。

    您最好将已有的项目添加到您的数据源ds,然后只绑定一次。

    【讨论】:

    • 我无法将项目添加到我的数据源,因为它是回发,我需要在末尾添加增量数据。所以我绑定新数据,然后重新添加以前的控件。你知道我可以将增量数据添加到转发器甚至是像 listview 这样的不同控件来输出我的控件列表的方法吗?谢谢。
    • 为什么您认为您无法添加到数据源?您可以将 LINQ 和 Union 旧数据集与新数据集一起使用吗?如果不确切知道回发前后的数据代表什么,就很难提供更多帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-28
    • 2011-08-01
    • 2013-10-20
    相关资源
    最近更新 更多