Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Как достать контрол из рипитера (http://forum.oszone.net/showthread.php?t=188869)

DaRiYs 20-10-2010 14:49 1523143

Как достать контрол из рипитера
 
Столкнулся с такой проблеммой. У меня есть на странице рипитер и в футер-темплейте обьявлен некий пользовательский контрол, как мне к нему обратится? Метод FindControl( string CintrolID) возвращает нул.

Delirium 21-10-2010 01:22 1523616

ID и NAME у контрола есть? Приведите часть кода разметки и часть кода .NET, где идет обращение к контролу.

DaRiYs 24-10-2010 12:35 1526061

Вот к примеру

HTML код:

<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 1526644

Хм. Интересная ситуация. Дело в том, что this.FindControl("rpUsersList").Controls.Count возвращает 0, т.е. дочерних элементов у repeater нет. Та же ситуация с this.FindControl("rpUsersList").HasControls() - равно false. Т.е. получается, что сервер не видит просто того, что находится в шаблонах, т.к. они формируются в процессе отображения данных, а не в процессе формирования таблицы.

DaRiYs 26-10-2010 19:15 1528022

И это никак нельзя решить?

Delirium 27-10-2010 01:04 1528266

DaRiYs, ты лучше объясни, ЧТО ты пытаешься сделать. Сдается мне, имеет место просто неверный подход к решению задачи либо использование не того контрола.


Время: 17:12.

Время: 17:12.
© OSzone.net 2001-