Разработка вебприложений с помощью ASP.NET Dynamic Data и ASP.NET Dynamic Data MVC Александр Краковецкий The Frayman Group Microsoft Regional Director ASP.NET Dynamic Data (Динамические данные ASP.NET) Scaffolding • Scaffolding – это подход к разработке приложений, работающих с базами данных, с помощью метапрограммирования. • Фреймворки: Ruby on Rails, Django, Monorail (.Net), CodeIgniter, Symfony, Yii, CakePHP, Model-Glue, Grails, Catalyst, Seam Framework, ASP.NET Dynamic Data. Знакомимся с Dynamic Data • ASP.NET Dynamic Data – это фреймворк, который позволяет быстро разрабатывать полнофункциональные data-driven приложения, используя LINQ to SQL или Entity Framework, а также расширяет возможности элементов управления DetailsView, FormView, GridView и ListView в плане функциональности, проверки данных и отображения. Развитие Dynamic Data Дата Версия Информация Декабрь 09, 2007 ASP.NET 3.5 Extensions Delivers new features that enable faster creation of data driven web sites. Апрель, 2008 ASP.NET Dynamic Data Preview Dynamic Data Website Wizard (не поддерживается в данный момент) Август 11, 2008 ASP.NET Dynamic Data Вышел в составе Visual Studio 2008 Service Pack 1. Май 15, 2009 ASP.NET Dynamic Data MVC Preview Поддержка ASP.NET MVC 1.0 RTM Апрель 12, 2010 Dynamic Data в составе Visual Studio 2010 / .NET 4 Релиз .NET 4 содержит ряд улучшений технологии Dynamic Data. 2010 Q2 Feature releases DomainDataSource – возможность использовать Dynamic Data в качестве business layer вместо EF / Linq to SQL. Возможности • LINQ to SQL, LINQ to Entities на выбор • CRUD операции (Create, Read, Update, Delete + New) из «коробки» • Routing • Проверка данных • Возможность кастомизации и использования сторонних компонентов ASP.NET Dynamic Data: что внутри? Архитектура Dynamic Data Структура проекта Папка или файл Описание Content По умолчанию содержит папку Images с иконками, а также пользовательский элемент управления GridViewPager.ascx. CustomPages Папка-контейнер для пользовательских шаблонов страниц. Пользовательские шаблоны страниц используются для переопределения шаблонов страниц, определенных в папке DynamicData\PageTemplates. PageTemplates В содержимое входят шаблоны страниц, которые генерируют пользовательский интерфейс для просмотра и редактирования данных. EntityTemplates В содержимое входят шаблоны сущностей, которые генерируют табличный интерфейс для просмотра и редактирования данных. FieldTemplates В содержимое входят пользовательские элементы управления, которые генерируют пользовательский интерфейс для просмотра и редактирования полей данных. FilterTemplates В содержимое входят пользовательские элементы управления, которые генерируют пользовательский интерфейс для фильтрации строк данных. Кастомизация • Эталонные страницы (Master pages) • Шаблоны страниц (Page templates / Custom pages) • Шаблоны полей (Field templates) • Шаблоны фильтров (Filter templates) • Возможность использования сторонних компонентов • Кастомная логика Архитектура Dynamic Data Архитектура Dynamic Data DEMO В демо рассмотрен процесс создания веб-приложения с помощью ASP.NET Dynamic Data. • Создание вебприложения с помощью Dynamic Data • Создание модели базы данных • Настройка роутинга • Запуск приложения DEMO В демо рассмотрен процесс кастомизации и настройки созданного веб-приложения. • Замена RichTextBox на ASP.NET AJAX Toolkit HtmlEditor • Скрытие некоторых таблиц • Изменение внешнего вида сайта Ссылки • • • • • • • • • • http://www.asp.net/dynamicdata http://aspnet.codeplex.com/releases/view/14473 New ASP.NET Dynamic Data Support http://weblogs.asp.net/scottgu/archive/2007/12/14/new-asp-net-dynamicdata-support.aspx ASP.NET Dynamic Data Content Map - http://msdn.microsoft.com/enus/library/cc488545.aspx ASP.NET Dynamic Data – что может быть проще? http://www.developers.org.ua/archives/jony/2009/07/20/asp-net-dynamicdata/ http://p2p.wrox.com/content/sites/default/files/users/21/file/c30.pdf ASP.NET Dynamic Data MVC Preview http://aspnet.codeplex.com/releases/view/18803 ASP.NET Dynamic Data for .NET 4 - ASP.NET Dynamic Data for .NET 4 http://aspnet.codeplex.com/wikipage?title=Dynamic%20Data http://stackoverflow.com/questions/tagged/dynamic-data Форумы Dynamic Data - http://forums.asp.net/1145.aspx