Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемhackday.ru
1 Использование Dynamic Data на практике Гайдар Магдануров t: twitter.com/gaidar p: +7 (905) e:
2 Сегодня в докладе… Поговорим… Что такое Dynamic Data? Посмотрим... Как оно выглядит? Подумаем... Подходит ли нам?
3 Что такое Dynamic Data? Оснастка для работы с данными Гибкая кастомизация Валидация данных Доступно в.NET FW 3.5 SP1 / 4.0
4 Архитектура Dynamic Data Источник данныхМодель данныхМета-данные
5 Три шага к Dynamic Data Определить модель данных Зарегистрировать модель Кастомизировать шаблоны
6 Возможности кастомизации Шаблоны страниц (PageTemplates)Шаблоны полей (FieldTemplates)Типы данных (UIHint)СтраницыDynamicField/DynamicControl
7 Посмотрим
8 Маршрутизация routes.Add( new DynamicDataRoute("{table}/{action}.aspx") { Constraints= new RouteValueDictionary( new { action= "List|Details|Edit|Insert" }), Model= model }); routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") { Action= PageAction.List,ViewName= "ListDetails", Model= model}); routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx"){ Action= PageAction.Details, ViewName= "ListDetails",Model= model});
9 Контролы и страницы
10 Применение мета-данных using System; using System.ComponentModel.DataAnnotations; [MetadataType(typeof(EmployeeMetadata))] public partial class Employee { } public class EmployeeMetadata { [UIHint("DateTimeCalendar")] public objectHireDate{ get; set; } }
11 Валидация public class CustomerMetadata{ [Required()] public object Title; } public partial class Customer { partial void OnTitleChanging(string value) { if(!Char.IsUpper(value[0])) {throw new ValidationException(!!!"); } }
12 Валидация public partial class Employee{ partial void OnValidate(System.Data.Linq.ChangeAction action){ if(action== System.Data.Linq.ChangeAction.Insert)) { if(this._BirthDate.Value.CompateTo(DateTime.Now)>0) throw new ValidationException(!!!); }
13 Возможности Независимость от слоя данных –LINQ2SQL, Entity Framework,ADO.NET Data Services Правила валидации –Атрибуты полей на уровне модели Ограничение доступа –На уровне web.confg / на уровне страницы
14 Пример из жизни
18 Оно нам надо? Сценарий СправочникиДА Простой интерфейс редактированияДА Частые простые изменения схемыДА «Описательные данные»ДА Сложный интерфейс редактированияНЕТ Данные со сложными логическими связямиНЕТ
19 Где узнать больше? Официальные сайты Блоги Пишите мне
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.