[Hackday] Мастер-класс IE9 и Dynamic Data

829 views

Published on

Презентация с мастер-класса на Hackday, на котором было рассказано о новых возможностях Internet Explorer 9 и быстром создании форм для редактирования данных на ASP.NET Dynamic Data.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
829
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

[Hackday] Мастер-класс IE9 и Dynamic Data

  1. 1. HTML 5, IE9ASP.NET Dynamic Data<br />Гайдар Магдануров<br />Microsoft<br />e: gaidarma@microsoft.com | t: @gaidar | m: +7 (905) 5045716<br />
  2. 2. Новые возможности<br />
  3. 3.
  4. 4. Новый движок JavaScript “Chakra”<br />Интерактивный процесс<br />Исходный код<br />Парсер<br />AST<br />Интерпре-татор<br />Байт-код<br />Компилятор<br />Нативный код<br />Фоновый процесс<br />Компиляция<br />В фоне<br />Многопоточность<br />
  5. 5. Поддержка стандартов<br />Рабочая группа HTML<br />Рабочая группа W3C<br />Основная группа тестирования HTML 5<br />
  6. 6. Сравнение разметки<br />6<br />
  7. 7. HTML 5<br />Часто называют так набор HTML 5 и CSS3<br />Новые медиа-возможности <br />(canvas, видео, аудио, встроенный SVG…)<br />Поведение современных браузеров<br />1100 страниц черновика HTML 5<br />
  8. 8. ASP.NET Dynamic Data<br />Источник данных<br />Модель данных<br />Мета-данные<br />
  9. 9. КастомизацияDynamic Data<br />Шаблоны страниц (PageTemplates)<br />Шаблоны полей (FieldTemplates)<br />Типы данных (UIHint)<br />Страницы<br />DynamicField/DynamicControl<br />
  10. 10. Маршрутизация<br />routes.Add(newDynamicDataRoute("{table}/{action}.aspx")<br />{ <br />Constraints= new RouteValueDictionary( new { action= "List|Details|Edit|Insert" }),<br />Model= model<br />});<br />routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") { <br />Action= PageAction.List,ViewName= "ListDetails", Model= model}); <br />routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx"){ <br />Action= PageAction.Details, ViewName= "ListDetails",Model= model});<br />
  11. 11. Контролы и страницы<br /><asp:CalendarID="Calendar1" runat="server“<br />SelectedDate="<%# (FieldValue!=null)? FieldValue:DateTime.Now%>" <br />VisibleDate="<%# (FieldValue!=null)? FieldValue:DateTime.Now%>"<br /></asp:Calendar><br />
  12. 12. Применение мета-данных<br />using System;<br />using System.ComponentModel.DataAnnotations;<br />[MetadataType(typeof(EmployeeMetadata))]<br />public partial class Employee<br />{<br />}<br />public class EmployeeMetadata<br />{<br />[UIHint("DateTimeCalendar")]<br />public objectHireDate{ get; set; }<br />}<br />
  13. 13. Валидация<br />public class CustomerMetadata{<br />[Required()]<br />public object Title;<br />}<br />publicpartialclassCustomer { <br /> partial void OnTitleChanging(string value) {<br /> if(!Char.IsUpper(value[0])) {throw new ValidationException(“!!!"); } <br /> } <br />}<br />
  14. 14. Валидация<br />public partial class Employee{<br /> partial void OnValidate(System.Data.Linq.ChangeAction action){<br /> if(action== System.Data.Linq.ChangeAction.Insert)) { <br /> if(this._BirthDate.Value.CompateTo(DateTime.Now)>0) <br /> throw new ValidationException(“!!!”);<br /> }<br /> }<br />}<br />
  15. 15. Ресурсы<br />Официальные сайты<br />http://ie.microsoft.com/testdrive/<br />http://www.beautyoftheweb.com/<br />http://www.asp.net/dynamicdata<br />http://www.codeplex.com/aspnet<br />Блоги<br />http://blogs.msdn.com/davidebb/<br />http://blogs.msdn.com/marcinon/<br />http://blogs.msdn.com/scothu/<br />http://weblogs.asp.net/scottgu<br />http://www.hanselman.com/blog/<br />

×