This document summarizes new features in ASP.NET 4.0, including improved SEO, cleaner client IDs, routing, and chart controls in Web Forms. It also covers improvements to ASP.NET AJAX such as client-side controls, script loading, and data binding. For ASP.NET MVC 2.0, it outlines model validation, templates, areas, and asynchronous controllers. Finally, it provides an overview of ASP.NET Dynamic Data and references for further information.
14. Semantically Correct Markup Rendering version Menu control generates <ul>, <li> CheckBoxList’s and RadioButtonList’sRepeatLayout now has 4 values Table (old) Flow (old) OrderedList (new) UnorderedList (new) Many other small improvements
15. Web Forms 4.0 SEO Improvements Clean HTML Chart Control
16. Chart Control 35 chart types 3-D support Ajax support Data binding Statistical formulae Highly customizability Appearance & data serialization
22. ASP.NET Ajax Library JavaScript library Server-side platform agnostic Include Ajax Control Toolkit (with client-side support) Tight integration with the “adopted” jQuery Support client-side template with DataView Provide script loader Support invoking web services Work seamlessly with ASP.NET services Released separately from ASP.NET and VS.NET Latest version: 0911 beta http://ajax.codeplex.com Microsoft Confidential 22
23. Using Client Controls All ACT controls now available at client-side Also known as “Client Controls” Also exposed as jQuery’s plugins Microsoft Confidential 23
26. DataView A JavaScript component allowing JSON data to be bound to an HTML template Support 2-way binding, master-detail, and conditional rendering Can retrieve data from local or services (e.g. ASMX, WCF, and WCF Data Services etc.) Microsoft Confidential 26
29. Technology Stack ASP.NET Web Forms ASP.NET MVC ASP.NET Framework (Configuration, Security, Membership, Roles, Profiles, Routing, Caching, Session, Application State, Cookie, .aspx/.ascx/.asax/.master files etc. .NET Framework
30. MVC 2.0 Separation of Concerns Model-based Validation Model Rendering Scalability
31. Areas Allow an MVC app to have multiple “areas” Like sub-projects although sharing 1 app Each area defines its routes Microsoft Confidential 31
32. Partial Action Render partial might cause coupling except for no-model partial view Partial action to rescue: invoke action which renders UI Microsoft Confidential 32
33. MVC 2.0 Separation of Concerns Model-based Validation Model Rendering Scalability
34. Model Validation Model validation in MVC 1.0 is ad-hoc xVal (http://xval.codeplex.com) ASP.NET MVC Validation Library (http://aspmvcvalidation.codeplex.com/) ASP.NET MVC 2.0 solves this nicely Client-side and server-side validation Provider for Data Annotations on server-side Adapters jQuery and MS AJAX on client-side
39. Model Templates ASP.NET can render model based metadata provided by developers Built-in templates for data types Built-in provider for Data Annotations Data Annotations attributes DisplayName, HiddenInput, DataType, ReadOnly, ScaffoldColumn, DisplayFormat, and UIHint
48. Overview Built-in page, entity, field and filter templates Easy to customize or add new templates Declarative validation and rendering Integrated with ASP.NET Web Forms and MVC applications
51. ASP.NET Web Forms 4.0 URL Routing http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and-net-4-0-series.aspx Client IDs http://weblogs.asp.net/scottgu/archive/2010/03/30/cleaner-html-markup-with-asp-net-4-web-forms-client-ids-vs-2010-and-net-4-0-series.aspx Chart Control http://www.4guysfromrolla.com/articles/072209-1.aspx SEO Improvements http://weblogs.asp.net/scottgu/archive/2010/01/05/asp-net-4-seo-improvements-vs-2010-and-net-4-0-series.aspx
52. ASP.NET AJAX 4.0 Libraries & source code for Ajax Library http://ajax.codeplex.com Tutorials & sample apps for Ajax Library http://www.asp.net/ajaxlibrary Microsoft Ajax CDN http://www.asp.net/ajaxLibrary/cdn.ashx Microsoft Ajax Minifier 4.0 http://aspnet.codeplex.com/releases/view/40584
53. ASP.NET MVC 2.0 Model validation http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx Model Templates http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-1-introduction.html Strongly-typed Helpers http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx Areas http://msdn.microsoft.com/en-us/library/ee671793%28VS.100%29.aspx Asynchronous Controller http://msdn.microsoft.com/en-us/library/ee728598%28VS.100%29.aspx
54. ASP.NET Dynamic Data Dynamic Data Presentation Layer Customization http://msdn.microsoft.com/en-us/library/ee211433%28VS.100%29.aspx Dynamic Data Schema Customization http://msdn.microsoft.com/en-us/library/ee225428%28v=VS.100%29.aspx
Chart.aspx- Switch chart type: Column, Bar, Pie, LineChart_Programmatic.aspxMicrosoft Chart SamplesChart Types / Area Charts / 3D AreaChart Types / Advanced Financial Charts / StockAppearance / 3D PerspectiveInteractivity & Ajax / AJAX / Real Time Chart
Build from scratch and apply some customizations:1.namespace DynamicData.Models{ [MetadataType(typeof(TrackMetadata))] public partial class Track { } public class TrackMetadata { [StringLength(48)] public string Name { get; set; } [ScaffoldColumn(false)] public bool Bytes { get; set; } }}2.using System;using System.ComponentModel.DataAnnotations;namespace DynamicData.Models{ [MetadataType(typeof(InvoiceMetadata))] public partial class Invoice { } public class InvoiceMetadata { [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")] public DateTimeInvoiceDate { get; set; } }}3.List.aspx move to CustomPages/Tracks