Использование Dynamic Data на практике

Содержание

Слайд 2

Сегодня в докладе…

Поговорим… Что такое Dynamic Data?
Посмотрим... Как оно выглядит?
Подумаем... Подходит ли

Сегодня в докладе… Поговорим… Что такое Dynamic Data? Посмотрим... Как оно выглядит? Подумаем... Подходит ли нам?
нам?

Слайд 3

Что такое Dynamic Data?

Оснастка для работы с данными
Гибкая кастомизация
Валидация данных
Доступно в .NET

Что такое Dynamic Data? Оснастка для работы с данными Гибкая кастомизация Валидация
FW 3.5 SP1 / 4.0

Слайд 4

Архитектура Dynamic Data

Источник данных

Модель данных

Мета-данные

Архитектура Dynamic Data Источник данных Модель данных Мета-данные

Слайд 5

Три шага к Dynamic Data

Определить модель данных
Зарегистрировать модель
Кастомизировать шаблоны

Три шага к Dynamic Data Определить модель данных Зарегистрировать модель Кастомизировать шаблоны

Слайд 6

Возможности кастомизации

Возможности кастомизации

Слайд 7

Посмотрим

Посмотрим

Слайд 8

Маршрутизация

routes.Add( new DynamicDataRoute("{table}/{action}.aspx")
{
Constraints= new RouteValueDictionary( new { action= "List|Details|Edit|Insert" }),
Model= model
});

routes.Add(new

Маршрутизация routes.Add( new DynamicDataRoute("{table}/{action}.aspx") { Constraints= new RouteValueDictionary( new { action= "List|Details|Edit|Insert"
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

Контролы и страницы

"
VisibleDate="<%# (FieldValue!=null)? FieldValue:DateTime.Now%>"

Контролы и страницы SelectedDate=" " VisibleDate=" "

Слайд 10

Применение мета-данных

using System;
using System.ComponentModel.DataAnnotations;
[MetadataType(typeof(EmployeeMetadata))]
public partial class Employee
{
}
public class EmployeeMetadata
{
[UIHint("DateTimeCalendar")]
public objectHireDate{ get; set;

Применение мета-данных using System; using System.ComponentModel.DataAnnotations; [MetadataType(typeof(EmployeeMetadata))] public partial class Employee {
}
}

Слайд 11

Валидация

public class CustomerMetadata{
[Required()]
public object Title;
}

public partial class Customer {
partial void

Валидация public class CustomerMetadata{ [Required()] public object Title; } public partial class
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)) {

Валидация 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
Правила валидации
Атрибуты полей на уровне

Возможности Независимость от слоя данных LINQ2SQL, Entity Framework,ADO.NET Data Services Правила валидации
модели
Ограничение доступа
На уровне web.confg / на уровне страницы

Слайд 14

Пример из жизни

Пример из жизни

Слайд 15

Пример из жизни

Пример из жизни

Слайд 16

Пример из жизни

Пример из жизни

Слайд 17

Пример из жизни

Пример из жизни

Слайд 18

Оно нам надо?

Оно нам надо?
Имя файла: Использование-Dynamic-Data-на-практике.pptx
Количество просмотров: 82
Количество скачиваний: 0