![]() |
|
Модераторы: gambit |
![]()
|
|
| Annihilator |
|
||||
![]() bytegrinder ![]() ![]() Профиль Группа: Участник Сообщений: 493 Регистрация: 21.11.2006 Где: Омск Репутация: нет Всего: 3 |
Есть страница
Пытаюсь найти PlaceHolder1 таким образом, но ничего не выходит. Вроде рекурсия правильна.
Подскажите, пожалуйста! Это сообщение отредактировал(а) Annihilator - 7.11.2008, 09:36 -------------------- Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо |
||||
|
|||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Annihilator, внутри Repeater контролов с таким id будет столько же, сколько и строк, поэтому repater.FindControl() не имеет смысла.
А вот поиск контрола внутри строки - другое дело:
|
|||
|
||||
| Annihilator |
|
|||
![]() bytegrinder ![]() ![]() Профиль Группа: Участник Сообщений: 493 Регистрация: 21.11.2006 Где: Омск Репутация: нет Всего: 3 |
Хм... а можно поподробнее насчет
-------------------- Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Annihilator, ItemTemplate, в котором Вы создаете какой-либо контрол, повторяется столько раз, сколько элементов баиндится. Тем не менее элементы остаются уникальными благодаря использованию ClientId и UniqueId. Вот пример того, во что рендерится Repeater:
Control.UniqueId рендерится в свойство name и используется при постбэке. Control.ClientId рендерится в свойство id и используется в JS. Это сообщение отредактировал(а) Idsa - 7.11.2008, 06:48 |
|||
|
||||
| Annihilator |
|
||||
![]() bytegrinder ![]() ![]() Профиль Группа: Участник Сообщений: 493 Регистрация: 21.11.2006 Где: Омск Репутация: нет Всего: 3 |
Это я понимаю. Id будут одинаковы.
т.е. получается, что я смогу динамически помещать только в первый из трёх PlaceHolder1. Но почему я его найти не могу, ведь он есть в Repeater`e. Я ведь находил другие элементы. Не могу уловить и все тут :( Ведь что-то же он ищет FindControl()`ом Это сообщение отредактировал(а) Annihilator - 7.11.2008, 09:37 -------------------- Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо |
||||
|
|||||
| Idsa |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Для начала обратимся к MSDN с вопросом, что же в действительности делает FindControl:
Теперь смотрим описание свойства Control.NamingContainer:
NamingContainer - это класс, реализующий интерфейс INamingContainer. В случае Repeater'а NamingContainer'ом является RepeaterItem. По этому вопросу есть отличная статья: http://dotnetslackers.com/ASP_NET/re-51209...d_controls.aspx Раздел "The usual scenarios this information is needed in" must read. |
||||||
|
|||||||
| Annihilator |
|
|||
![]() bytegrinder ![]() ![]() Профиль Группа: Участник Сообщений: 493 Регистрация: 21.11.2006 Где: Омск Репутация: нет Всего: 3 |
Огромное спасибо за статью. Уже читаю.
-------------------- Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |