Подтвердить что ты не робот

Что такое Container.DataItem?

Что такое Container.DataItem?

4b9b3361

Ответ 1

Эта статья может помочь вам понять. Цитата:

Итак, что это за выражение? Значение <% #% > означает, что это Выражение DataBinding и Container.DataItem - это псевдоним для текущий элемент в источнике данных. Другими словами, если вы привязываетесь к коллекция объектов Container.DataItem - это текущая строка этого коллекция.

Эта запись в блоге дает информацию о том, когда использовать. Цитата:

Container.DataItem - это псевдоним выполнения для DataItem для этого конкретный элемент в связанном списке. Для сетки, которая отображает 10 строк данных, это одна строка из источника данных. Фактический тип DataItem определяется типом источника данных. Например, если datasource - это Dataview, тип DataItem - DataRowView. Если тип источника данных - это массив строк, тип DataItem - строка. Если источник данных представляет собой набор сильно типизированные объекты (например, объекты "Сотрудники" ), тип DataItem - это сотрудники.

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

Ответ 2

Я столкнулся с этим вопросом, особенно в контексте попытки доступа к Container.DataItem из кода. Container существует в коде aspx/ascx, но не существует внутри кода. Посмотрев на сгенерированный код С#, я увидел, что это литая ссылка на BindingContainer на конкретный управляющий элемент.

Эквивалентный код для кода Container.DataItem таков:

var ddl = (DropDownList) source;
var dataItem = ((RepeaterItem) ddl.BindingContainer).DataItem;