A web developer’s journey across different versions of ASP.NETHarish Ranganathan Web Developer Evangelist | Microsoft Corporation India
Agenda
• Evolution of ASP.NET• Where am I currently• Visual Studio 2008 Features• ASP.NET Enhancements• Future Preview – Visual Studio 2010
Beta 2
Programming Model in .NET
MSVBVM MSVCRT MSJVM
Java SDKMFC / WIN32 APIVB Lang. API
VJ++VC++VB
Common Language Runtime
Base Class Library
Data and XML
WebServices
UserInterface
VB C++ C# JScript …
Framework Multitargeting
.NET Fx 2.0.NET Fx 2.0Update
.NET Fx 2.0Update
.NET Fx 3.0.NET Fx 3.0Update
.NET Fx 3.5
.NET 2.0 .NET 3.0
.NET 3.5
time
Version = Assembly references + compilers. No new CLR runtime until now. Only .NET 4.0 has new CLR runtime.
.NET 4.0
.NET Fx 4.0
ASP.NET Evolution
ASP.NET 1.x
ASP.NET 2.0
ASP.NET AJAX
ASP.NET 3.5
ASP.NET MVCDynamic
DataASP.NET 4.0 Beta 2
Visual Studio .NET 2003
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010 Beta 2
Visual Studio 2008 Backward Compatibility
demo
ASP.NET Currently
System.Web
Web forms Master Pages ProvidersAJAX
Extensions
.NET Framework 3.0 + SP1
.NET Framework 3.5
ASP.NET AJAXSilverlight Support
JavaScript Intellisense
Additional Enhancements
.NET Framework 3.5 + SP1
MVC Dynamic DataEntity
Framework Data Services
Other Enhancements
• Improved Data Set performance• Fixes for Form Tag• Nested Master Page Editing• AJAX Enabled WCF Services• ListView Control for Databinding
Visual Studio 2008
demo
Core
Services
.NET Framework 4.0 Beta 2
Base Class Library
Common Language Runtime
Windows Workflow
Foundation
Managed Extensibility Framework
Data Services
Windows Communicati
on Foundation
“Velocity”
User Interface
Windows Presentation Foundation
ASP.NET(WebForms,
MVC, Dynamic
Data)
Data Access
Entity Framework
LINQ
ADO.NET
Parallel Extensions
WinForms LINQ to SQL
LanguagesDynamic Language Runtime
11
Key focus areas
• Ease of migration• Search Engine friendly•Working with Data• Focus on tier architecture• Standards, Compliance
ListView Improvements
<asp:ListView ID="Listview1" runat="server"> <LayoutTemplate> <div id="itemContainer" runat="server" /> </LayoutTemplate> <ItemTemplate> <%# Eval("Title") %> </ItemTemplate></asp:ListView>
FormView Improvements
<asp:FormView ID="Formview1"
RenderTable="false" runat="server">
14
Control Your View State
Control.ViewStateMode–Enabled–Disabled–Inherit (default)
15
Control Your Client IDs
<system.web> <pages clientIdMode="Predictable">
</pages></system.web>
16
Filtering Data with QueryExtender
• Filters data from IQuerable DataSource• Handy in implementing Search/Filtering• No code• Can be combined with AJAX to provide rich
user experience• Works great with .NET RIA Services
17
ASP.NET Routing for Search Engine OptimizationInstead of:
http://YourSite.com/Search.aspx?query=cats
You can use:http://YourSite.com/Search/cats
18
Other Search Engine Optimization Improvements
• Page.Description• Page.Keywords• Response.RedirectPermanent(new url)
Visual Studio 2010 Beta 2
demo
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the
accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.