35
What’s new for web What’s new for web developers? developers? Mike Ormond, Developer Evangelist Manager Mike Ormond, Developer Evangelist Manager [email protected] [email protected] http://blogs.msdn.com/mikeormond http://blogs.msdn.com/mikeormond

What’s new for web developers? Mike Ormond, Developer Evangelist Manager [email protected]

  • View
    226

  • Download
    3

Embed Size (px)

Citation preview

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

User Interface DesignUser Interface Design

DemoDemo

LocalizationLocalization

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

Behind the ScenesBehind the Scenes

DemoDemo

The Provider ModelThe Provider Model

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.