Основы ASP.NET 2.0


         

Синтаксис динамического связывания


Можно получать данные, связанные с элементом управления, в его декларации на странице. Это делается с помощью разновидности блока отображения. В ранних версиях ASP .NET с помощью такого механизма можно было только читать, но теперь возможно и двустороннее связывание. Особенно это важно в элементах управления, использующих шаблоны. Хотя DataGrid и GridView автоматически отображают данные, но и в них для создания нужных эффектов используются столбцы-шаблоны.

Для привязки к данным используются разделители <%# %>. В жизненном цикле каждого элемента управления наступает событие DataBinding, во время которого и вычисляются все выражения, заключенные в этот тег.

Если в функции Page_Load мы писали

ContinentDropDownList.DataSource = ContinentArrayList;

то на странице это можно сделать с помощью

<asp: DropDownList id=" ContinentDropDownList " datasource='<%# ContinentArrayList %>' runat="server">

В ASP .NET 1.x данные читались в объекты DataSet или DataReader, после чего вызывался DataBind. В ASP .NET 2.0, если же установлено свойство DataSourceID, то событие DataBinding вызывается автоматически.

В сгенерированном ASP .NET классе страницы в обработчике этого события для ContinentDropDownList будет выполняться код

datasource = ContinentArrayList;

При этом в локальном кэше создается копия прочтенных данных. Для элементов Repeater, DataList, DataGrid синтаксис привязки данных разбирается в событии ItemDataBound, для GridView — в RowDataBound.



Содержание  Назад  Вперед