Вопрос

Для чего бы вы реально использовали OnItemDataBound на ретрансляторе?

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

Решение

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

~http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datagrid.onitemdatabound.aspx

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

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

Я использовал его, когда мне нужно было немного изменить данные для каждого элемента в ретрансляторе.

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

Подумайте об этом вот так.Когда ваш элемент создается, все события OnDataBinding запускаются для этого конкретного элемента.Может быть много вещей, которые создают один элемент, поэтому может быть вызвано так много событий OnDataBinding .Как только все это будет сделано, это событие будет запущено, чтобы вы могли применить некоторые заключительные "штрихи", и все события OnDataBinding будут выполнены в это время.

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

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

Я нахожу синтаксис привязки данных сложным для чтения и отладки.Я не думаю, что я когда-либо делал с OnItemDataBound что-либо, чего я не мог бы сделать, поместив выражение привязки данных в разметку, но если я захочу изменить его позже, лично я считаю, что намного проще просто установить точку останова в OnItemDataBound, а затем использовать немедленное окно, чтобы закрепить то, что я хочу отобразить.Я также приверженец явно угасающего (например,Ruby) предписывает, что код и разметка должны быть разделены.

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