asp.net – 中继器中继器

前端之家收集整理的这篇文章主要介绍了asp.net – 中继器中继器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在转发器内有一个转发器。其中父中继器绑定到一个Datatble,它有一个Datatable其中的列。

我想绑定子中继器到父中继器的datarow中的datatable列

这可能吗?我想我可以这样直接在aspx文件像:

DataSource =“<%#DataBinder.Eval(Container.DataItem,”Products“)%>”但它似乎不工作。

解决方法

在父中继器中,将一个方法附加到OnItemDataBound事件,并在该方法中,找到嵌套的重复器和数据绑定它。

示例(.aspx):

<asp:Repeater ID="ParentRepeater" runat="server" OnItemDataBound="ItemBound">
    <ItemTemplate>
        <!-- Repeated data -->
        <asp:Repeater ID="ChildRepeater" runat="server">
            <ItemTemplate>
                <!-- Nested repeated data -->
            </ItemTemplate>
        </asp:Repeater>
    </ItemTemplate>
</asp:Repeater>

示例(.cs):

protected void Page_Load(object sender,EventArgs e)
{
    if (!IsPostBack)
    {
        ParentRepeater.DataSource = ...;
        ParentRepeater.DataBind();
    }
}

protected void ItemBound(object sender,RepeaterItemEventArgs args)
{
    if (args.Item.ItemType == ListItemType.Item || args.Item.ItemType == ListItemType.AlternatingItem)
    {
        Repeater childRepeater = (Repeater)args.Item.FindControl("ChildRepeater");
        childRepeater.DataSource = ...;
        childRepeater.DataBind();
    }
}

猜你在找的asp.Net相关文章