Использует для OnItemDataBound - PullRequest
2 голосов
/ 10 февраля 2009

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

Ответы [ 7 ]

7 голосов
/ 10 февраля 2009

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

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

3 голосов
/ 10 февраля 2009

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

2 голосов
/ 10 февраля 2009

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

1 голос
/ 10 февраля 2009

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

0 голосов
/ 02 июня 2009

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

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

0 голосов
/ 02 июня 2009

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

0 голосов
/ 10 февраля 2009

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

...