Показать полную графическую версию : Как достать контрол из рипитера
Столкнулся с такой проблеммой. У меня есть на странице рипитер и в футер-темплейте обьявлен некий пользовательский контрол, как мне к нему обратится? Метод FindControl( string CintrolID) возвращает нул.
Delirium
21-10-2010, 01:22
ID и NAME у контрола есть? Приведите часть кода разметки и часть кода .NET, где идет обращение к контролу.
Вот к примеру
<asp:Repeater ID="rpUsersList" runat="server">
<ItemTemplate>
<asp:Label ID="lUserStatus" runat="server">Status: </asp:Label>
</ItemTemplate>
</asp:Repeater>
Label lb=(Label)rpUsersList.FindControl("lUserStatus");
При этом получаем нулл
Delirium
25-10-2010, 02:45
Хм. Интересная ситуация. Дело в том, что this.FindControl("rpUsersList").Controls.Count возвращает 0, т.е. дочерних элементов у repeater нет. Та же ситуация с this.FindControl("rpUsersList").HasControls() - равно false. Т.е. получается, что сервер не видит просто того, что находится в шаблонах, т.к. они формируются в процессе отображения данных, а не в процессе формирования таблицы.
И это никак нельзя решить?
Delirium
27-10-2010, 01:04
DaRiYs, ты лучше объясни, ЧТО ты пытаешься сделать. Сдается мне, имеет место просто неверный подход к решению задачи либо использование не того контрола.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.