Visual Studio 2008 предоставляет Web-разработчику богатый набор инструментов и элементов управления. Она по-прежнему поддерживает стандартные элементы управления для ASP.NET и HTML, такие как метки, текстовые поля, кнопки и т. п. Кроме того, по- прежнему присутствуют и элементы управления для проверок, данных, процедуры регистрации и WebParts. Конечно, многие из них улучшены. Однако здесь мы сосредоточимся на представлении новых элементов управления для разработчика ASP.NET.
Для Web-разработчика необходимо отметить следующие три элемента управления пользовательского интерфейса: ListView, DataPager и LinqDataSource. Первый из них (ListView)— это элемент управления, который упрощает отображение повторяющихся данных. Элемент управления ListView управляется шаблонами пользователя. Таким образом, вы можете легко настроить поведение вашего интерфейса пользователя при таких операциях, как просмотр, редактирование, добавление и удаление. Кроме того, ListView поддерживает сортировку, разбиение на страницы и, конечно же, привязку данных. На рис. 1.14 показан экран настройки ListView. Здесь вы можете задать вид отображения во время работы, визуальный стиль и т. д.
Элемент управления ListView управляется шаблоном. Конечно же, вы имеете полный доступ к компоновке и управлению этими шаблонами. Кроме того, сам элемент управления может помочь в настройке соответствующего шаблона. На рис. 1.15 показаны задачи Tasks для ListView. Обратите внимание, что вы можете изменить представление Current View (показанное в визуальном конструкторе WebForm) на другой шаблон представления.
На рис. 1.16 показано представление по шаблону EditltemTemplate. Исходная компоновка шаблона доступна для вашей настройки. В этом примере мы фактически выводим метки и элементы управления формы в виде таблицы (для большей ясности). Обратите также внимание, что в этих шаблонах возможно перемещение между записями. Это позволяет вашим пользователям прокручивать блоки данных и производить необходимые обновления.
Еще один новый элемент управления в версии 2008 (который нам хотелось бы выделить) — это DataPager. Этот элемент управления позволяет вам управлять разбиением данных на страницы, а также пользовательским интерфейсом такого разбиения. Вы можете использовать этот элемент управления как сам по себе, так и встраивать его в качестве части другого создаваемого вами элемента управления. Упомянутый уже ранее элемент управления ListView фактически использует элемент управления DataPager. Вы можете связать с DataPager и другие привязанные к данным элементы управления при помощи свойства PagedControlID (такой элемент управления должен реализовывать интерфейс I Pageable It emContainer).
Вы можете полностью управлять настройкой, компоновкой и поведением элемента DataPager. На рис. 1.17 показан редактор полей DataPager (доступ к нему можно получить через окно Tasks элемента управления). Обратите внимание, что вы можете настроить вид и поведение всех элементов, связанных с данной компоновкой DataPager.
Последний новый элемент управления (который мы здесь отметим) — это LinqDataSour- ceControl. LINQ (Language Integrated Query, встроенный язык запросов) — это новая модель программирования, введенная в Visual Studio 2008. Она сочетает запросы к базе данных с языком программирования .NET. Таким образом, вы можете писать строго типизированный код (а не простые строчки) для запросов к вашим данным. Написание запросов полностью поддерживается технологией IntelliSense, работа которой зависит от ваших данных. Кроме того, LINQ может работать с данными из различных источников данных (в том числе SQL Server, XML и многих других). Более подробный обзор этой новой технологии см. в главе 18.
Элемент управления LinqDataSourceControl дает вам возможность привязывать элементы управления при помощи технологии LINQ подобно тому, как это делается с другими источниками данных ASP.NET. Вы можете использовать LinqDataSourceControl для получения доступа к базам данных, коллекциям данных в памяти, классам источников данных и т. д. Когда вы подключаетесь к этим источникам данных, элемент управления LinqDataSourceControl позволяет вам писать код взаимодействия с данными, используя всю мощь L1NQ. Весь код ваших запросов к базе данных для выборки, группирования, упорядочивания, фильтрации, обновления, вставки и удаления будет строго типизирован и основан на LINQ. Этот код для вас фактически пишет LinqDataSourceControl. На рис. 1.18 показан пример настройки элемента управления LinqDataSourceControl для подключения и работы с классом данных L1NQ.