2009-02-10 1 views

ответ

6

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

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

2

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

+0

Является ли ретранслятор правильным местом для этого? Должна ли такая логика делать в элементе управления user/server IMO –

+0

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

3

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

1

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

0

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

+0

Что вы также можете сделать с DataSource = "<% # DataBinder.Eval (Container.DataItem," Source "%>" :). Извините, не пытаясь спорить, просто пытаясь найти для этого правильное использование. –

0

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

0

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^