如何获取对转发器内创建的控件的引用?

use*_*348 1 vb.net asp.net repeater

我在转发器中有一个名为thumbviewer的控件.我想在代码中设置它的imageurl.目前它已经在aspx中完成了

<asp:Repeater ID="Repeater1" runat="server" >
                    <ItemTemplate>
                        <span style="padding:2px 10px 2px 10px">

                            <bri:ThumbViewer Id="Th1"  runat="server" ImageUrl='<%# Eval("Name", "images/{0}") %>' Height="100px" Width="100px"/>
                        </span>
                    </ItemTemplate>
                </asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

如何在代码中设置ImageUrl?

tim*_*tim 6

protected void rpter_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        ThumbViewControl control = e.Item.FindControl("Th1") as ThumbViewControl;
        if (control != null)
        {
           control.ImageUrl = "";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

并在aspx上

<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="rpter_ItemDataBound" >
                    <ItemTemplate>
                        <span style="padding:2px 10px 2px 10px">

                            <bri:ThumbViewer Id="Th1"  runat="server" Height="100px" Width="100px"/>
                        </span>
                    </ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

我个人会这样做.

如果你想获得它的数据,那么我相信e.Item.DataItem(或类似的东西)得到它.

干杯,

Ť