Как передать повторяющийся объект в пользовательский элемент управления в повторитель
Например, я использую Telerik Rad Grid и привязываю к нему список пользователей.
rgUsers.DataSource = GetUsersList();
rgUsers.DataBind();
У меня есть пользовательский элемент управления UserEditor, который получает объект пользователя,
<radG:RadGrid runat="server" ID="rgUsers">
<MasterTableView>
<Columns>
<radG:GridTemplateColumn>
<ItemTemplate>
<asp:Label runat="server" ID="lblName" Text='<%# Eval("username") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<uc:UserEditor ID="UserEditor" runat="server" User='???????' />
</EditItemTemplate>
</radG:GridTemplateColumn>
...
Могу ли я передать объект User в UserEditor, или я должен сделать это в событии привязки данных?
1 ответ
Решение
Я думаю, что это работает как родные элементы управления ASP.NET:
Документация RadControls для ASP.NET AJAX - последовательность событий
<radG:RadGrid runat="server" ID="rgUsers" OnItemDataBound="rgUsers_ItemDataBound">
protected void rgUsers_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item.ItemType == GridItemType.EditItem)
{
User user = (User)e.Item.GridDataItem;
UserEditor userEditor = (UserEditor )e.Item.FindControl("UserEditor");
UserEditor.User = user;
}
}