Новые возможности ASP.NET и веб-разработки

Обновлен: Ноябрь 2007

.NET Framework, версия 3.5 с пакетом обновления 1 включает в себя улучшения ASP.NET в целевых областях. Visual Studio 2008 и Microsoft Visual Web Developer, экспресс-выпуск также включают в себя улучшения и новые возможности, улучшающие и упрощающие веб-разработку.

Самым значительным достижением стала улучшенная поддержка разработки веб-узлов на основе технологии AJAX и поддержка LINQ. К улучшениям относятся новые серверные элементы управления и типы, новая библиотека объектно-ориентированных клиентских типов, полная поддержка технологии IntelliSense в Visual Studio 2008 и Microsoft Visual Web Developer, экспресс-выпуск при работе с ECMAScript (JavaScript или JScript).

В следующих подразделах данного раздела описываются новые возможности ASP.NET и Visual Web Developer.

  • Улучшения ASP.NET в пакете обновления 1 (SP1)

  • Улучшения ASP.NET в версии 3.5

  • Улучшения в Visual Web Developer

Улучшения ASP.NET в пакете обновления 1 (SP1)

В следующих разделах приведены сведения об улучшениях и новых возможностях Visual Studio 2008 и Visual Web Developer, экспресс-выпуск.

Динамические данные

Динамические данные ASP.NET являются платформой, используя которую можно легко создавать управляемые данными веб-приложения ASP.NET. Это достигается путем автоматического определения модели данных во время выполнения и определения на основе этих данных поведения пользовательского интерфейса. Платформа, основанная на шаблонах, мгновенно предоставляет функциональный веб-узел для просмотра и изменения данных. Ее легко настроить с помощью метаданных, шаблонов, или путем создания стандартных страниц ASP.NET, переопределяющих поведение по умолчанию. При этом в страницы существующих приложений можно легко интегрировать части логики формирования шаблонов.

Маршрутизация URL-адреса

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

Элемент управления EntityDataSource

Элемент управления EntityDataSource поддерживает сценарии привязки данных на основе модели EDM. Спецификация модели EDM представляет данные как наборы сущностей и связей. Модель EDM используется Entity Framework в объектно-ориентированном сопоставлении и в других сценариях, например в службах данных ADO.NET. Пользователи, привыкшие к модели элементов управления привязкой данных ASP.NET во время разработки, обнаружат, что область программирования элемента управления EntityDataSource аналогичной области программирования других элементов управления источниками данных.

Элемент управления EntityDataSource управляет операциями создания, чтения, обновления и удаления источника данных, вызываемыми элементами управления привязкой данных на этой странице. Элемент управления EntityDataSource работает с редактируемыми сетками, формами с управляемой пользователем сортировкой и фильтрацией, попарно связанными элементами управления "раскрывающийся список" и страницами типа "основная-подробности". Элемент управления EntityDataSource может получать значения параметров запроса из элементов управления страниц, параметры запроса, добавленные к URI-адресу страницы, файлы Cookie и другие объекты параметров ASP.NET.

Новые расширения технологии AJAX ASP.NET

Новые расширения технологии AJAX ASP.NET AJAX в пакете обновления 1 (SP1) предоставляют большие возможности по управлению историей веб-обозревателя при использовании кнопки "Назад". Они также позволяют автоматически объединять несколько клиентских сценариев в один общий сценарий. Это ускоряет загрузку сценария за счет сокращения требуемого количества обращений к серверу.

Форматирование JScript

Возможности форматирования кода были расширены за счет добавления поддержки JScript в Visual Studio и Visual Web Developer, экспресс-выпуск. Можно выбирать ручное форматирование кода для документа или выделенной области или автоматическое форматирование по мере ввода.

Улучшения ASP.NET в версии 3.5

.NET Framework, версия 3.5 содержит улучшения ASP.NET в следующих областях:

  • Новые серверные элементы управления, типы и библиотеки клиентских сценариев, которые вместе позволяют разрабатывать веб-приложения с поддержкой AJAX.

  • Расширенное использование служб проверки подлинности на основе форм на стороне сервера, управления ролями и служб профилей в качестве веб-служб, которые могут использоваться веб-приложениями.

  • Новый элемент управления EntityDataSource, предоставляющий модель EDM посредством архитектуры элементов управления источниками данных ASP.NET.

  • Новый элемент управления данными ListView, отображающий данные и предоставляющий полностью настраиваемый пользовательский интерфейс.

  • Новый элемент управления LinqDataSource, предоставляющий LINQ посредством архитектуры элементов управления источниками данных ASP.NET.

  • Новое средство слияния (Aspnet_merge.exe), которое выполняет объединение предкомпилированных сборок для поддержки гибкого управления развертыванием и версиями. Эта возможность недоступна в Visual Web Developer, экспресс-выпуск.

.NET Framework, версия 3.5 также встраивается в IIS 7.0. Теперь можно использовать службы ASP.NET, такие как службы проверки подлинности на основе форм и кэширования всех типов содержимого, а не только веб-страницы ASP.NET (ASPX-файлы). Это возможно благодаря тому, что ASP.NET и IIS 7.0 используют один и тот же конвейер обработки запросов. Использование унифицированного конвейера для обработки запросов означает, что можно использовать управляемый код для разработки конвейерных модулей HTTP, работающих со всеми запросами в IIS. Кроме того, модули и обработчики IIS и ASP.NET теперь поддерживают унифицированную настройку. Дополнительные сведения см. в разделе Общие сведения о жизненном цикле приложения ASP.NET для служб IIS 7.0.

Разработка AJAX

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

  • Серверные элементы управления, поддерживающие разработку AJAX на стороне сервера. К таким элементам управления относятся ScriptManager, UpdatePanel, UpdateProgress и Timer. Эти элементы управления позволяют создавать разнообразные возможности на стороне клиента, например частичную отрисовку страниц и отображение хода обновления во время асинхронной обратной передачи, с помощью небольшого количества клиентских сценариев или вовсе без них.

  • Microsoft AJAX (библиотека), которая поддерживает объектно-ориентированную разработку клиентских приложений, не зависящую от обозревателя. Помимо поддержки новых серверных элементов управления AJAX клиентская библиотека позволяет разрабатывать пользовательские клиентские компоненты, которые расширяют элементы модели DOM или представляют элементы модели DOM.

  • Серверные классы, которые позволяют разрабатывать серверные элементы управления, соответствующие пользовательским клиентским компонентам, чьи события и свойства устанавливаются декларативно. К серверным типам, поддерживающим эту возможность, относятся элементы управления, производные от базовых классов ExtenderControl и ScriptControl или реализующие интерфейсы IExtenderControl и IScriptControl.

  • Поддержка глобализации и локализации сценариев с помощью клиентского сценария. Глобализация позволяет отображать даты и числа на основе установленного языка и региональных параметров. Локализация позволяет указывать локализованное содержимое (текст, изображения и т. п.) клиентских компонентов для элементов пользовательского интерфейса или сообщений об исключениях.

  • Доступ к веб-службам и службам проверки подлинности ASP.NET, управления ролями и профилей приложений.

.NET Framework, версия 3.5 позволяет без труда осуществлять асинхронное обновление части страницы и тем самым избегать лишних обратных передач всей страницы целиком. Достаточно просто поместить существующие элементы управления и разметку в элементы управления UpdatePanel. Обратные передачи из элемента управления UpdatePanel становятся асинхронными, и обновляется только часть страницы внутри панели, что повышает эффективность взаимодействия с пользователем. Ход выполнения частичного обновления страницы можно отображать с помощью элементов управления UpdateProgress.

Сведения о разработке AJAX в ASP.NET

В документации приведены подробные сведения о разработке веб-приложений с поддержкой AJAX в ASP.NET. Чтобы приступить к работе, ознакомьтесь с подразделами, описанными в разделе Добавление клиентских возможностей и возможностей AJAX.

Веб-службы и службы приложения

.NET Framework, версия 3.5 позволяет создавать как веб-службы ASP.NET (ASMX), так и веб-службы WCF, которые можно вызывать из клиентского сценария веб-страниц с помощью Microsoft AJAX (библиотека). Также можно вызывать службы приложения на стороне сервера, которые предоставляются как веб-службы, к которым относятся службы проверки подлинности на основе форм, а также управления ролями и профилями. Эти службы приложения используются в WCF-совместимых приложениях, к которым относятся веб-страницы с поддержкой AJAX и клиенты Windows Forms. В результате приложения, построенные с помощью технологий ASP.NET или WCF, могут совместно использовать сведения, доступные благодаря службам приложения. Дополнительные сведения см. в разделах Веб-службы в ASP.NET AJAX и Использование веб-служб ASP.NET.

Элемент управления данными ListView

Элемент управления ListView сочетает в себе многие функции существующих элементов управления данными. Элемент управления ListView может использоваться для отображения данных в любой повторяющейся структуре, как и элементы управления DataList и Repeater. Но в отличие от этих элементов управления, элемент управления ListView поддерживает операции редактирования, вставки и удаления, а также сортировки и разбиения по страницам. Функция разбиения по страницам для ListView обеспечивается новым элементом управления DataPager.

Элемент управления ListView является полностью настраиваемым, что позволяет использовать шаблоны и стили для определения его пользовательского интерфейса. Как и в элементах управления Repeater, DataList и FormView, шаблоны в элементе управления ListView не являются предопределенными для отображения конкретного пользовательского интерфейса в веб-обозревателе. Дополнительные сведения см. в разделе Общие сведения о серверном веб-элементе управления ListView.

Элемент управления DataPager

Элемент управления DataPager используется для постраничного просмотра данных, отображаемых с помощью элемента управления, реализующего интерфейс IPageableItemContainer, например элемента управления ListView. Элемент управления DataPager поддерживает пользовательский интерфейс с встроенной функцией разбиения по страницам. Можно указать пользовательский интерфейс с функцией разбиения по страницам с помощью объекта NumericPagerField, который позволяет пользователям выбирать страницу по ее номеру. Также можно использовать объект NextPreviousPagerField, который позволяет пользователям последовательно переходить с одной страницы на другую или переходить к первой или последней странице. Кроме этого, можно создать настраиваемый интерфейс с поддержкой разбиения по страницам с помощью объекта TemplatePagerField.

Элемент управления LinqDataSource

Элемент управления LinqDataSource предоставляет запросы LINQ посредством архитектуры элементов управления источниками данных ASP.NET. Элемент управления LinqDataSource используется при создании веб-страниц, извлекающих или изменяющих данные, если необходимо воспользоваться преимуществами модели программирования, предоставляемой LINQ. Можно упростить код веб-страницы, использовав элемент управления LinqDataSource, который позволяет автоматически создавать команды для взаимодействия с данными. С помощью элемента управления LinqDataSource можно уменьшить объем кода, необходимый для выполнения операций с данными, по сравнению с кодом, необходимым для выполнения тех же операций при использовании элементов управления SqlDataSource или ObjectDataSource. При использовании элемента управления LinqDataSource необходимо изучить только одну модель программирования для взаимодействия с разными типами источников данных.

С помощью декларативной разметки можно создать элемент управления LinqDataSource, который подключается к данным из базы данных или коллекции данных. В разметке можно указать критерии отображения, фильтрации, сортировки и группирования данных. Если источником данных является таблица базы данных SQL, то можно настроить элемент управления LinqDataSource на выполнение обновления, вставки и удаления данных. Для выполнения этих задач нет необходимости использовать команды SQL. Класс LinqDataSource предоставляет модель событий, позволяющую настроить поведение при отображении и обновлении. Дополнительные сведения см. в разделе Общие сведения о серверном веб-элементе управления LinqDataSource.

Средство слияния ASP.NET

Средство слияния ASP.NET (Aspnet_merge.exe) позволяет объединять и управлять сборками, созданными с помощью средства предварительной компиляции ASP.NET (Aspnet_compiler.exe). (средство слияния ранее использовалось как дополнительный компонент Visual Studio 2005). Средство слияния создает единую сборку для всего узла. Можно создать сборку для всего веб-узла, для каждой папки веб-узла или только для файлов, которые составляют пользовательский интерфейс веб-узла (т. е. страницы и элементы управления).

s57a598e.alert_note(ru-ru,VS.90).gifПримечание.

Эта возможность недоступна в Visual Web Developer, экспресс-выпуск.

Дополнительные сведения см. в разделе Средство слияния ASP.NET (Aspnet_merge.exe). Дополнительные сведения о средстве компиляции ASP.NET см. в разделе Программа компиляции для ASP.NET (Aspnet_compiler.exe).

Улучшения в Visual Web Developer

В следующих разделах приведены сведения об улучшениях и новых возможностях Visual Studio 2008 и Visual Web Developer, экспресс-выпуск.

Новое представление конструирования и средства создания таблиц CSS

Конструктор веб-страниц позволяет работать в представлении конструирования, исходном и комбинированном представлении, при котором представление конструирования и исходное представление отображаются одновременно.

Visual Studio предоставляет средства, упрощающие работу с каскадными таблицами стилей (CSS). Можно разрабатывать структуру и содержимое стиля в представлении Конструирование, используя новые средства пользовательского интерфейса, например окно Свойства CSS. В представлении Конструирование можно также изменять положение, заполнение и внешние поля с помощью WYSIWYG-средств визуального конструирования.

Дополнительные сведения см. в следующих разделах:

Технология IntelliSense для JScript и ASP.NET AJAX

Visual Studio 2008 и Visual Web Developer, экспресс-выпуск предоставляют значительно улучшенную технологию IntelliSense при кодировании в ECMAScript (JScript или JavaScript), а также при написании клиентского сценария для веб-приложений с поддержкой AJAX, в которых используется Microsoft AJAX (библиотека). Технология IntelliSense доступна клиентскому сценарию в элементах script и файлам сценариев JS, на которые существуют ссылки. 

Кроме того, с помощью IntelliSense теперь отображаются комментарии кода XML. Комментарии кода XML используются для предоставления общих сведений о клиентском сценарии и описания его параметров и возвращаемых значений. В ASP.NET AJAX также используются комментарии кода XML для предоставления технологии IntelliSense членам и типам AJAX в ASP.NET. IntelliSense также поддерживается для внешних ссылок на файлы сценариев, в которых используются комментарии кода XML.

Дополнительные сведения см. в следующих разделах:

Проекты веб-приложений

Проекты веб-приложений, являвшиеся ранее дополнительным компонентом Visual Studio 2005, теперь интегрированы в Visual Studio и Visual Web Developer, экспресс-выпуск. С помощью модели проектов веб-приложений можно компилировать веб-узел в одну сборку в папке Bin и явно определять ресурсы проекта.

В модели проектов веб-приложений используется та же семантика проекта, построения и сборки, что и в веб-проектах в Visual Studio .NET 2003. Это позволяет с легкостью выполнять миграцию веб-узлов Visual Studio .NET 2003 в текущую версию Visual Studio или Visual Web Developer, экспресс-выпуск.

Проекты веб-приложений не заменяют тип проекта веб-узла, используемый в Visual Studio 2005. Они предоставляют другую проектную модель, в рамках которой доступно больше вариантов развертывания и поддержания веб-приложений.

Дополнительные сведения см. в следующих разделах:

Настройка веб-приложений для различных версий

Visual Studio позволяет настроить веб-приложение на работу с определенной версией .NET Framework. Можно использовать один экземпляр Visual Studio для разработки веб-приложений для .NET Framework версий 2.0, 3.0 (Windows Vista) и 3.5. В Visual Web Developer, экспресс-выпуск можно создавать только приложения, предназначенные для платформы .NET Framework версии 3.5. Однако позднее можно изменить целевую версию платформы .NET Framework на 2.0, 3.0 или 3.5 путем изменения соответствующего свойства проекта.

Дополнительные сведения см. в следующих разделах:

Поддержка LINQ конструктором и технологией IntelliSense

Новый набор функций Visual Studio 2008 поддерживает LINQ и значительно расширяет возможности работы с запросами в синтаксисе языков C# и Visual Basic. В LINQ используются стандартные, простые для изучения шаблоны для запросов и преобразования данных. Этот синтаксис можно расширить для поддержки любого типа источников данных. Конструктор предоставляет визуальное представление классов данных, что позволяет быстро создавать и изменять классы, сопоставленные с объектами в базе данных. Поддержка IntelliSense предоставляет сведения для синтаксиса языка LINQ и для использования элемента управления LinqDataSource в исходном представлении. Дополнительные сведения см. в разделе Общие сведения о серверном веб-элементе управления LinqDataSource.

Поддержка создания и использования служб WCF в веб-проектах

В Visual Studio можно добавлять в проект веб-службы ASP.NET (ASMX-файлы) и веб-службы WCF (SVC-файлы). Клиентские приложения, созданные с помощью управляемого кода, как правило, обращаются к веб-службам через прокси-классы. Например, эти приложения используют прокси-класс, создаваемый Visual Studio, при использовании диалогового окна Добавление веб-ссылки. Приложения с поддержкой AJAX могут обращаться к веб-службам из обозревателя с помощью прокси-классов, создаваемых автоматически в клиентском сценарии. Дополнительные сведения см. в разделе Общие сведения о службах приложений ASP.NET.

Поддержка управляющего элемента-расширителя AJAX в ASP.NET

Управляющие элементы-расширители AJAX расширяют клиентские возможности стандартных серверных веб-элементов управления в веб-приложениях ASP.NET. Для удобства работы пользователя с веб-приложениями можно выполнить привязку одного или нескольких управляющих элементов-расширителей к серверным веб-элементам управления, таким как элементы управления TextBox, Button и Panel.

В Visual Studio поддерживаются все управляющие элементы-расширители AJAX ASP.NET. К ним относятся управляющие элементы-расширители, создаваемые пользователем и добавляемые из таких источников, как набор элементов управления AJAX ASP.NET, доступных на веб-узле ASP.NET.

s57a598e.alert_note(ru-ru,VS.90).gifПримечание.

Набор элементов управления ASP.NET AJAX представляет собой библиотеку, поддерживаемую сообществом разработчиков, а не корпорацией Майкрософт.

Дополнительные сведения см. в следующих разделах:

См. также

Основные понятия

Пошаговые руководства по ASP.NET

Новые возможности Visual Studio 2008

Общие сведения о проектах веб-приложений

Добавление клиентских возможностей и возможностей AJAX

Добавление функциональности AJAX к элементам управления ASP.NET

Сравнение Visual Studio и Visual Web Developer Express Edition

Другие ресурсы

Серверные элементы управления AJAX