Почему метка доступна только через событие OnItemDataBound повторителей?

StackOverflow https://stackoverflow.com/questions/1206435

  •  05-07-2019
  •  | 
  •  

Вопрос

Если у меня есть метка в шаблоне элемента ретранслятора, метка будет нулевой, если я попытаюсь получить к ней доступ через repeatater.Items [0] .FindControl (" label "). На самом деле, Items 0, хотя у меня есть 1 itemtemplate. Только когда я использую событие OnItemDataBound, я могу найти элемент управления через аргумент e. Мне любопытно, почему мне нужно использовать событие OnItemDataBound вместо того, чтобы просто использовать repeatater.Items [0] .FindControl (" label "). Может кто-нибудь объяснить это?

Это было полезно?

Решение

Когда вы создаете шаблон для повторителя, вы только указываете повторителю, что вы хотите вставить во время выполнения - эти элементы управления инициализируются не так, как если бы они не были частью шаблона.

Элементы управления в шаблоне создаются, когда ретранслятор привязан к данным, и из-за этого вы не сможете получить к ним доступ до этой точки в жизненном цикле репитера.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top