ASP.NET Повторитель ItemDataBound происходит ПОСЛЕ события предварительной отправки?

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

Вопрос

У меня есть элемент управления повторителем в веб-форме ASP.NET 2.0.

Насколько я понимаю, все элементы управления, привязанные к данным страницы, запускают свои события привязки где-то между Page_Load и тот Page_PreRender Мероприятия.

Однако мой ретранслятор ItemDataBound событие, по-видимому, происходит ПОСЛЕ PreRender событие.

Как это так и есть ли какой-либо способ, которым я могу получить доступ к элементам управления страницей ПОСЛЕ всех ItemDataBound события сработали?

Обновления:

  • Ретранслятор использует ObjectDataSource с помощью DataSourceID декларативный набор в элементе управления repeater.

  • Идентификатор источника данных или объект вообще не изменяется в течение жизненного цикла страницы.

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

Решение

Декларативная привязка данных (источник данных, указанный через свойство DataSourceID) происходит позже события предварительной отправки.Поведение, которое вы наблюдаете, разработано специально.Если это не то, что вам нужно, вы должны явно привязать свой элемент управления к данным - просто вызовите его метод DataBind .

Другие советы

Вы специально привязываете свой повторитель (myRepeater.DataBind();) в вашем коде за файлом (например, внутри события Page_Load())?

Вы ознакомились с жизненным циклом событий ASP.NET?Извините, если вы уже знаете это, но на всякий случай: http://msdn.microsoft.com/en-us/library/ms178472.aspx

Надеюсь, это поможет.

Рикардо.

В следующем сообщении в блоге также есть хороший пост о событии repeater :

Кнопка связи , Метка внутри Ретранслятора - ASP.NET

Я думаю, что у меня была похожая ситуация, и моим вариантом было ЗАСТАВИТЬ элементы управления связать себя, вызвав EnsureChildControls или какой-то подобный метод.

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