我有这个代码:
<asp:Repeater id="repeaterCategories" runat="server">
<ItemTemplate>
<div class="categorie-item">
...
<asp:Repeater id="repeaterSubCategories" runat="server">
<ItemTemplate>
...
</ItemTemplate>
</asp:Repeater>
</div>
</ItemTemplate>
</asp:Repeater>
和repeaterSubCategories
必须是repeaterCategories.SubCategories
,对于每个repeaterCategories
。所以我必须动态绑定(bind)(对于每个第一个转发器迭代)一个子类别列表。
我可以吗?怎么办?
最佳答案
如果你有一个像这样的嵌套转发器:
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
<ItemTemplate>
<asp:Repeater ID="Repeater2" runat="server"></asp:Repeater>
</ItemTemplate>
</asp:Repeater>
您可以使用它来绑定(bind)它:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
var data = ((MyClass)e.Item.DataItem).Subcategories;
var repeater2 = (Repeater)e.Item.FindControl("Repeater2");
repeater2.DataSource = data;
repeater2.DataBind();
}
关于c# - 在另一个中继器内动态绑定(bind)一个中继器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16170514/