Download - What’s new for web developers? Mike Ormond, Developer Evangelist Manager [email protected] …
What’s new for web developers?What’s new for web developers?
Mike Ormond, Developer Evangelist ManagerMike Ormond, Developer Evangelist Manager
[email protected]@microsoft.com
http://blogs.msdn.com/mikeormondhttp://blogs.msdn.com/mikeormond
……
New Features at a GlanceNew Features at a Glance
DataControls
DataControls
LoginControls
LoginControls Web PartsWeb Parts Other New
Controls
Other NewControls
Master PagesMaster Pages Themesand Skins
Themesand Skins
Mobility andLocalization
Mobility andLocalization CompilationCompilation
MembershipMembership RoleManagement
RoleManagement ProfilesProfiles ConfigurationConfiguration
SiteMaps
SiteMaps
HealthMonitoring
HealthMonitoring
OtherServices
OtherServices
Con
trols
Pag
eFr
am
ew
ork
Serv
ices
an
d A
PIs
What’s new for…What’s new for…
Data AccessData Access
User Interface DesignUser Interface Design
Security & PersonalisationSecurity & Personalisation
Configuration & AdminConfiguration & Admin
Behind the ScenesBehind the Scenes
What’s New for…What’s New for……Data Access…Data Access
DataControls
DataControls
Con
trols
Pag
eFr
am
ew
ork
Serv
ices
an
d A
PIs
What’s New for…What’s New for……Data Access…Data Access
Data controlsData controls
GridView - Like the DataGrid, only betterGridView - Like the DataGrid, only better
DetailsView - Companion to GridViewDetailsView - Companion to GridView
Data source controlsData source controls
Declarative 2-way data bindingDeclarative 2-way data binding
SQL cache dependenciesSQL cache dependencies
Key cached items to database entitiesKey cached items to database entities
Data AccessData Access
DemoDemo
New Data ControlsNew Data Controls
Declarative Data BindingDeclarative Data Binding
Binding to Object Data SourcesBinding to Object Data Sources
Paging, Sorting and EditingPaging, Sorting and Editing
SQL Cache DependenciesSQL Cache Dependencies
What’s New for…What’s New for……User Interface Design…User Interface Design
DataControls
DataControls Web PartsWeb Parts Other New
Controls
Other NewControls
Master PagesMaster Pages Themesand Skins
Themesand Skins
SiteMaps
SiteMaps
Con
trols
Pag
eFr
am
ew
ork
Serv
ices
an
d A
PIs
Mobility andLocalization
Mobility andLocalization
What’s New for…What’s New for……User Interface Design…User Interface Design
Master pagesMaster pages
"Visual inheritance" for Web pages"Visual inheritance" for Web pages
Applied declaratively or programmaticallyApplied declaratively or programmatically
Themes and skinsThemes and skins
Theme controls, pages, and entire sitesTheme controls, pages, and entire sites
Applied declaratively or programmaticallyApplied declaratively or programmatically
New controls (around 50 in all)New controls (around 50 in all)
Menus, TreeViews, Wizards, and moreMenus, TreeViews, Wizards, and more
User Interface DesignUser Interface Design
DemoDemo
Master PagesMaster Pages
ThemesThemes
Wizard ControlWizard Control
Web PartsWeb Parts…User Interface Design…User Interface Design
Framework for building portal-style appsFramework for building portal-style apps
Patterned after SharePoint Portal ServerPatterned after SharePoint Portal Server
System.Web.UI.WebControls.WebPartsSystem.Web.UI.WebControls.WebParts
Rich UIs with minimal codeRich UIs with minimal code
Edit page layout using drag-and-dropEdit page layout using drag-and-drop
Edit appearance and behavior and moreEdit appearance and behavior and more
Seamless personalizationSeamless personalization
““Connections” between web partsConnections” between web parts
Site NavigationSite Navigation…User Interface Design…User Interface Design
Navigation UIs are tedious to implementNavigation UIs are tedious to implement
Especially if they rely on client-side scriptEspecially if they rely on client-side script
New controls simplify site navigationNew controls simplify site navigation
TreeView and Menu - Navigation UITreeView and Menu - Navigation UI
SiteMapDataSource - XML site mapsSiteMapDataSource - XML site maps
SiteMapPath - "Bread crumb" controlSiteMapPath - "Bread crumb" control
Public API provides foundation for controlsPublic API provides foundation for controls
Provider-based for flexibilityProvider-based for flexibility
Validation GroupsValidation Groups…User Interface Design…User Interface Design
Validation controls can be grouped using new Validation controls can be grouped using new ValidationGroup property, implemented by:ValidationGroup property, implemented by:
Validation controlsValidation controls
Button, LinkButton, and ImageButtonButton, LinkButton, and ImageButton
Allows page to post back when validators in Allows page to post back when validators in target group are satisfiedtarget group are satisfied
Addresses limitation in ASP.NET 1.xAddresses limitation in ASP.NET 1.x
User Interface DesignUser Interface Design
DemoDemo
Web PartsWeb Parts
Site NavigationSite Navigation
Validation GroupsValidation Groups
LocalizationLocalization…User Interface Design…User Interface Design
Auto-culture handlingAuto-culture handling
Declarative mapping of Accept-Language headers to Declarative mapping of Accept-Language headers to relevant thread propertiesrelevant thread properties
Simplified resource handlingSimplified resource handling
Declarative mapping of control properties to Declarative mapping of control properties to resources using <%$ … %> expressionsresources using <%$ … %> expressions
Strongly typed programmatic resource loadingStrongly typed programmatic resource loading
<asp:localize runat="server"> and more<asp:localize runat="server"> and more
What’s New for…What’s New for……Security & Personalisation…Security & Personalisation
DataControls
DataControls Web PartsWeb Parts Other New
Controls
Other NewControls
Master PagesMaster Pages Themesand Skins
Themesand Skins
SiteMaps
SiteMaps
Con
trols
Pag
eFr
am
ew
ork
Serv
ices
an
d A
PIs
Mobility andLocalization
Mobility andLocalization
LoginControls
LoginControls
MembershipMembership RoleManagement
RoleManagement ProfilesProfiles
What’s New for…What’s New for……Security & Personalisation…Security & Personalisation
Membership serviceMembership service
Service for managing users and credentialsService for managing users and credentials
Provider-based for flexible data storageProvider-based for flexible data storage
Login controlsLogin controls
Controls for logging in, creating new users, Controls for logging in, creating new users, recovering lost passwords, and morerecovering lost passwords, and more
Role Management serviceRole Management service
Combine forms authentication and role-based Combine forms authentication and role-based authorization without writing code!authorization without writing code!
Validating LoginsValidating Logins…Security & Personalisation…Security & Personalisation
if (Membership.ValidateUser (UserName.Text, Password.Text)) RedirectFromLoginPage (UserName.Text, RememberMe.Checked);
<html> <body> <form runat="server"> <asp:Login RunAt="server" /> </form> </body></html>
ProfilesProfiles…Security & Personalisation…Security & Personalisation
Store per-user data Store per-user data persistentlypersistently
Strongly typed access (unlike session state)Strongly typed access (unlike session state)
On-demand lookup (unlike session state)On-demand lookup (unlike session state)
Long-lived (unlike session state)Long-lived (unlike session state)
Supports authenticated and anonymous usersSupports authenticated and anonymous users
Accessed through dynamically compiled Accessed through dynamically compiled HttpProfileBase derivatives (HttpProfile)HttpProfileBase derivatives (HttpProfile)
Provider-based for flexible data storageProvider-based for flexible data storage
Security & PersonalisationSecurity & Personalisation
DemoDemo
Membership & LoginsMembership & Logins
Persisting Data with ProfilesPersisting Data with Profiles
What’s New for…What’s New for……Configuration and Admin…Configuration and Admin
DataControls
DataControls Web PartsWeb Parts Other New
Controls
Other NewControls
Master PagesMaster Pages Themesand Skins
Themesand Skins
SiteMaps
SiteMaps
Con
trols
Pag
eFr
am
ew
ork
Serv
ices
an
d A
PIs
Mobility andLocalization
Mobility andLocalization
LoginControls
LoginControls
MembershipMembership RoleManagement
RoleManagement ProfilesProfiles ConfigurationConfiguration
HealthMonitoring
HealthMonitoring
What’s New for…What’s New for……Configuration and Admin…Configuration and Admin
Administrative toolsAdministrative tools
ASP.NET MMC snap-inASP.NET MMC snap-in
Web Site Administration Tool (Webadmin.axd)Web Site Administration Tool (Webadmin.axd)
Configuration APIConfiguration API
Read/write access to configuration settingsRead/write access to configuration settings
Simplified custom configuration sectionsSimplified custom configuration sections
InstrumentationInstrumentation
Perf counters, health monitoring, and morePerf counters, health monitoring, and more
Configuration and AdminConfiguration and Admin
DemoDemo
Web Site Administration ToolWeb Site Administration ToolEncrypting Config SectionsEncrypting Config SectionsCustom Web EventsCustom Web Events
What’s New…What’s New……Behind the scenes…Behind the scenes
DataControls
DataControls Web PartsWeb Parts Other New
Controls
Other NewControls
Master PagesMaster Pages Themesand Skins
Themesand Skins
SiteMaps
SiteMaps
Con
trols
Pag
eFr
am
ew
ork
Serv
ices
an
d A
PIs
Mobility andLocalization
Mobility andLocalization
LoginControls
LoginControls
MembershipMembership RoleManagement
RoleManagement ProfilesProfiles ConfigurationConfiguration
HealthMonitoring
HealthMonitoring
CompilationCompilation
OtherServices
OtherServices
What’s New…What’s New……Behind the scenes…Behind the scenes
The Provider ModelThe Provider Model
CompilationCompilation
Autocompile, code-behind & pre-compilationAutocompile, code-behind & pre-compilation
Cross-Page PostingCross-Page Posting
Client CallbacksClient Callbacks
Improvements to View StateImprovements to View State
The Provider ModelThe Provider Model…Behind the scenes…Behind the scenes
Membership API
MembershipData
SQL Express OtherData Stores
Controls LoginLogin LoginStatusLoginStatus LoginViewLoginView
Other MembershipProviders
Other MembershipProviders
Membership Providers
MembershipMembership MembershipUserMembershipUser
SqlMembershipProviderSqlMembershipProvider
SQL Server
Other LoginControls
Other LoginControls
CompilationCompilation…Behind the scenes…Behind the scenes
Autocompile anythingAutocompile anything
CS files, VB files, RESX files, and so onCS files, VB files, RESX files, and so on
Simply drop files into special directoriesSimply drop files into special directories
Extensible with custom build providersExtensible with custom build providers
Precompile and deploy without sourcePrecompile and deploy without source
Aspnet_compiler.exeAspnet_compiler.exe
New code-behind model (code-behind 2.0)New code-behind model (code-behind 2.0)
Fixes fragilities in version 1Fixes fragilities in version 1
Relies on partial class support in compilersRelies on partial class support in compilers
Code-Behind 2.0Code-Behind 2.0…Behind the scenes…Behind the scenes
<%@ Page CodeFile="Hello.aspx.cs" Inherits="MyPage_aspx" %>
<html> <body> <form runat="server"> <asp:TextBox ID="Input" RunAt="server" /> <asp:Button Text="Test" OnClick="OnTest" RunAt="server" /> <asp:Label ID="Output" RunAt="server" /> </form> </body></html>
Hello.aspx
using System;
partial class MyPage_aspx : Page{ protected void OnTest (Object sender, EventArgs e) { Output.Text = "Hello, " + Input.Text; }}
Hello.aspx.cs
Cross-Page PostingCross-Page Posting…Behind the scenes…Behind the scenes
Pages can now post back to other pagesPages can now post back to other pages
Relevant properties:Relevant properties:
controlcontrol.PostBackUrl - Identifies postback target.PostBackUrl - Identifies postback target
Page.PreviousPage - Returns reference to page that Page.PreviousPage - Returns reference to page that originated a cross-page postbackoriginated a cross-page postback
PreviousPage.IsCrossPagePostBack - Reveals PreviousPage.IsCrossPagePostBack - Reveals whether a cross-page postback occurredwhether a cross-page postback occurred
@ PreviousPageType directive provides strongly @ PreviousPageType directive provides strongly typed access to previous pagetyped access to previous page
Client CallbacksClient Callbacks…Behind the scenes…Behind the scenes
"Lightweight" postbacks"Lightweight" postbacks
Client-side callback manager transmits asynchronous Client-side callback manager transmits asynchronous XML-HTTP requests to serverXML-HTTP requests to server
Server receives and processes the request, but does Server receives and processes the request, but does notnot re-render the page re-render the page
Callback manager receives the response and notifies Callback manager receives the response and notifies the client via registered callbackthe client via registered callback
Requires Internet Explorer 5.0 or higherRequires Internet Explorer 5.0 or higher
Great way to improve UI responsivenessGreat way to improve UI responsiveness
Behind the ScenesBehind the Scenes
DemoDemo
Cross-Page PostbacksCross-Page Postbacks
Client CallbacksClient Callbacks
View State ImprovementsView State Improvements…Behind the scenes…Behind the scenes
More efficient serialization formatMore efficient serialization format
Faster and smallerFaster and smaller
Partitioned View StatePartitioned View State
Control State - behavioursControl State - behaviours
View State - contentsView State - contents
Declarative Data BindingDeclarative Data Binding
Platform makes smart decisions for youPlatform makes smart decisions for you
Further Information…Further Information……where to go…where to go
ASP.NET Developer Center (ASP.NET Developer Center (http://http://msdn.microsoft.com/asp.netmsdn.microsoft.com/asp.net))ASP.NET 2.0 (ASP.NET 2.0 (http://http://msdn.microsoft.com/asp.net/whidbeymsdn.microsoft.com/asp.net/whidbey))
Update on changes for Beta 2Update on changes for Beta 2
Feature postponed for ASP.NET Beta 2Feature postponed for ASP.NET Beta 2
Newsgroups & ForumsNewsgroups & Forumshttp://forums.asp.nethttp://forums.asp.net
http://lab.msdn.microsoft.com/vs2005/community/newsgroups/default.aspxhttp://lab.msdn.microsoft.com/vs2005/community/newsgroups/default.aspx
MSDN Magazine Articles (MSDN Magazine Articles (http://http://msdn.microsoft.com/msdnmagmsdn.microsoft.com/msdnmag))Filter on “ASP / ASP.NET” for examples like:Filter on “ASP / ASP.NET” for examples like:
““An overview of the New Services, Controls and Features in ASP.NET 2.0” Jun 04An overview of the New Services, Controls and Features in ASP.NET 2.0” Jun 04
Data Points: “Data Source Controls in ASP.NET 2.0” Jan 05Data Points: “Data Source Controls in ASP.NET 2.0” Jan 05
Cutting Edge: “The ASP.NET 2.0 Wizard Control” Nov 04Cutting Edge: “The ASP.NET 2.0 Wizard Control” Nov 04
““Wicked Code: Five Undiscovered Features on ASP.NET 2.0” Feb 05Wicked Code: Five Undiscovered Features on ASP.NET 2.0” Feb 05
““ASP.NET 2.0: Speed Up Your Site with the Improved View State in ASP.NET 2.0” Oct 04ASP.NET 2.0: Speed Up Your Site with the Improved View State in ASP.NET 2.0” Oct 04
Webcasts (Webcasts (http://http://msdn.microsoft.com/asp.net/support/multimediamsdn.microsoft.com/asp.net/support/multimedia))Learn ASP.NET 2.0 with Jeff ProsiseLearn ASP.NET 2.0 with Jeff Prosise
BooksBooksIntroducing MS ASP.NET 2.0 by Dino Esposito (MS Press)Introducing MS ASP.NET 2.0 by Dino Esposito (MS Press)
ASP.NET 2.0 Beta Preview by Bill Evjen (Wrox Press)ASP.NET 2.0 Beta Preview by Bill Evjen (Wrox Press)
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.