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