SlideShare a Scribd company logo
1 of 51
Stephen Walther
Microsoft
Stephen.Walther@Microsoft.com
ASP.NET AJAX




 Accordion
 AlwaysVisibleControl
 Animation
 AutoComplete
 Calendar
 CascadingDropDown
 CollapsiblePanel
 ConfirmButton
ASP.NET AJAX




                                     AjaxControlToolkit-
               ScriptFilesOnly.zip
ASP.NET AJAX

          http://www.ASP.net/ajax
Introduction




       Web Application Experience in 1993
Introduction




      Brendan Eich’s Home Page (the inventor of JavaScript)
Introduction




          Super Fancy Ajax Application
Different Types of Web Applications

   ASP.NET Server-Side
      Pages are rendered on the server and updated
      through postbacks
   ASP.NET Server-Side AJAX (AJAH)
      Pages are rendered on the server and updated
      through AJAX requests for HTML
   ASP.NET Client-Side AJAX
      Pages are rendered on the client and updated
      through Ajax requests for JSON
Client-Side Application Model


               renders once




              Ajax Calls (services)
Why AJAX Applications Are Good

   Less roundtrips
   Less bandwidth
   Less work on the web server
   More responsive
Why AJAX Applications are Good

 Two developers: an ASP.NET and JavaScript
 developer. Ask each developer when a button
 click event happens…
Overview: 3 Ways to Build an Application

  1. Server-Side ASP.NET

  2. Server-Side ASP.NET AJAX

  3. Client-Side ASP.NET AJAX
Overview: Features of Client-Side ASP.NET
AJAX
  1. Declarative Client-Side Controls

  2. Command Bubbling

  3. Live Bindings

  4. Saving and Updating Data

  5. Using Templates with JSONP
Server-Side ASP.NET
with No Ajax


    • Controls   renders
    • Code
    • Work

                 postback

    Web Server              Web Browser
Creating a Master/Detail Page with
Server-Side ASP.NET
Server-Side ASP.NET
 Benefits
    Safe: No Browser Compatibility Issues
    Powerful: Use any programming language

 Drawbacks
    Responsiveness: User must wait for a postback
    Performance: All page content must be rendered
    for each interaction
Server-Side ASP.NET AJAX
with UpdatePanel


    • Controls   renders
    • Code
    • Work

                 sneaky
                 postback
    Web Server              Web Browser
Creating a Master/Detail Page with
Server-Side ASP.NET AJAX
Server-Side ASP.NET AJAX
 Benefits
    Safe: No Browser Compatibility Issues
    Powerful: Use any programming language
    Compatible: Retrofit existing ASP.NET applications

 Drawbacks
    Responsiveness: User must wait for a postback (no
    simultaneous Ajax)
    Performance: (most) page content must be rendered for
    each interaction
Client-Side ASP.NET AJAX Controls



                            • Code
                 renders
                            • Work
                            • Controls


                 sneaky
                 postback
    Web Server              Web Browser
Creating a Master/Detail Page
with Client-Side AJAX Controls
Client-Side ASP.NET AJAX Controls
Perfection Reached!
 Benefits
   Responsive: Events happen when they
   happen
   Performance: Only necessary content is
   passed between client and server
   Clean separation of content and
   behavior
Data Sources
ASP.NET AJAX is compatible with anything
that exposes JSON:
    ASMX Web Services
    WCF Web Services
    HTTP Handlers
    JavaScript arrays
    ASP.NET MVC JSonResult
    ADO.NET Data Services
    REST Services
    .NET RIA Services
Why Templates are Good
for (var i=0;i < data.length;i++)
{
    row = quot;<tr>quot;;
    row += quot;<td>quot; + data[i].Title + quot;</td>quot;;
    row += quot;<td>quot; + data[i].Director + quot;</td>quot;;
    table += row;
}

$get(quot;movieBodyquot;).innerHTML = table;
(Evil)
Why Templates are Good
movieView.set_data(data);

<tbody id=quot;movieBodyquot; class=quot;sys-templatequot;>
<tr>
     <td>{{ Title }}</td>
     <td>{{ Director }}</td>
     <td>{{ DateReleased.localeFormat(quot;Dquot;) }}</td>
</tr>
</tbody>
(Good)
Rude Objections
(impediments to a perfect future)
   Browser Back/Forward button
   Accessibility
   Search Engine Optimization (SEO)
   JavaScript disabled (Mobile Devices)
Creating a Master/Detail Page that
supports JavaScript failover
Technology Independent
Client-Side ASP.NET AJAX…

     Works with any modern browser including
     IE, Firefox, Chrome, Safari, and Opera.

     Works with any back-end technology that exposes
     JSON (not dependent on ASP.NET)

     Works with HTML pages, no need for ASP.NET.
Creating a Master/Detail Page
with Pure HTML
Additional ASP.NET AJAX 4.0 Features
   Declarative Client-Side Controls
   Command Bubbling
   Live Bindings
   Saving and Updating Data
Declarative Controls
 XML Namespaces
    xmlns:sys=“javascript:Sys”
    xmlns:dataview=“javascript:Sys.UI.DataView”
 sys:activate
    Activates declarative controls
 sys:attach
    Attaches a control to a DOM element
Creating a Master/Detail Page with
Declarative Client-Side Controls
Command Bubbling
 sys:command
    A command name such as select, edit, and so on
 sys:commandargument
    A command argument such as 78
 Sys:commandtarget
    A control or name of a control that is the target of the
    command.
 onCommand
    DataView event handler that you can use to handle a
    custom command
Select Command
 DataView Properties
   selectedIndex
   initialSelectedIndex
   selectedData
   selectedItemClass
Creating a Master/Detail Page with
Command Bubbling
Live Bindings
 {{ Title }}
     Used to execute JavaScript in the context of the
     current data item

 {binding Title }
     WPF style binding syntax
     Supports live binding
Live Bindings
    One-way, One-time - The data value is updated only the first time that
    data binding is invoked.
    {{ CompanyName }}

    One-way, Live - If the underlying data item is modified, the rendered
    data value is updated automatically.
    <span>{binding CompanyName}</span>

    Two-way, Live - If the user changes the data value, the value of the
    underlying data item is updated. In addition, if the data item is modified
    from another source, the rendered data value is updated.
    <input type=“text” value=“{binding CompanyName}” />
Creating a Master/Detail Page
with Live Bindings
Data Sources
ASP.NET AJAX is compatible with anything
that exposes JSON:
    ASMX Web Services
    WCF Web Services
    HTTP Handlers
    JavaScript arrays
    ASP.NET MVC JSonResult
    ADO.NET Data Services
    REST Services
    .NET RIA Services
DataContext Class
   Provides read/write access to data
   Supports change tracking in the browser
   Send multiple changes in a single batch to the
   server
   Use AdoNetDataContext class with ADO.NET Data
   Services
Creating a Master/Detail Page that saves
data
Using ADO.NET Data Services
Conclusion

Embrace the client-side!
For better performance and a better user
experience, start writing client-side ASP.NET AJAX
applications.
Resources
 My Blog
 StephenWalther.com

 CodePlex ASP.NET Previews
 aspnet.CodePlex.com

 Official ASP.NET Website
 www.ASP.net/ajax
Related Content
Breakout Sessions (session codes and titles)



Interactive Theater Sessions (session codes and titles)



Hands-on Labs (session codes and titles)



Hands-on Labs (session codes and titles)
Track Resources
Resource 1



Resource 2



Resource 3



Resource 4
© 2009 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.

More Related Content

What's hot

Chapter 1 (asp.net over view)
Chapter 1 (asp.net over view)Chapter 1 (asp.net over view)
Chapter 1 (asp.net over view)let's go to study
 
Asp .net web form fundamentals
Asp .net web form fundamentalsAsp .net web form fundamentals
Asp .net web form fundamentalsGopal Ji Singh
 
Asp Net Advance Topics
Asp Net Advance TopicsAsp Net Advance Topics
Asp Net Advance TopicsAli Taki
 
ASP.NET MVC and ajax
ASP.NET MVC and ajax ASP.NET MVC and ajax
ASP.NET MVC and ajax Brij Mishra
 
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide showThe complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide showSubhas Malik
 
Introduction to Asp.net 3.5 using VS 2008
Introduction to Asp.net 3.5 using VS 2008Introduction to Asp.net 3.5 using VS 2008
Introduction to Asp.net 3.5 using VS 2008maddinapudi
 
ASP.NET Page Life Cycle
ASP.NET Page Life CycleASP.NET Page Life Cycle
ASP.NET Page Life CycleAbhishek Sur
 
Introduction to angular js july 6th 2014
Introduction to angular js   july 6th 2014Introduction to angular js   july 6th 2014
Introduction to angular js july 6th 2014Simona Clapan
 
10 performance and scalability secrets of ASP.NET websites
10 performance and scalability secrets of ASP.NET websites10 performance and scalability secrets of ASP.NET websites
10 performance and scalability secrets of ASP.NET websitesoazabir
 
Tips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsTips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsSarvesh Kushwaha
 
Ch 04 asp.net application
Ch 04 asp.net application Ch 04 asp.net application
Ch 04 asp.net application Madhuri Kavade
 
Esri Dev Summit 2009 Rest and Mvc Final
Esri Dev Summit 2009 Rest and Mvc FinalEsri Dev Summit 2009 Rest and Mvc Final
Esri Dev Summit 2009 Rest and Mvc Finalguestcd4688
 
MVC 1.0 als alternative Webtechnologie
MVC 1.0 als alternative WebtechnologieMVC 1.0 als alternative Webtechnologie
MVC 1.0 als alternative WebtechnologieOPEN KNOWLEDGE GmbH
 
Ajax assignment help
Ajax assignment helpAjax assignment help
Ajax assignment helpjohn mayer
 
Introduction to Vaadin Framework
Introduction to Vaadin FrameworkIntroduction to Vaadin Framework
Introduction to Vaadin FrameworkRisto Yrjänä
 

What's hot (20)

Chapter 1 (asp.net over view)
Chapter 1 (asp.net over view)Chapter 1 (asp.net over view)
Chapter 1 (asp.net over view)
 
Asp .net web form fundamentals
Asp .net web form fundamentalsAsp .net web form fundamentals
Asp .net web form fundamentals
 
Asp Net Advance Topics
Asp Net Advance TopicsAsp Net Advance Topics
Asp Net Advance Topics
 
ASP.NET MVC and ajax
ASP.NET MVC and ajax ASP.NET MVC and ajax
ASP.NET MVC and ajax
 
Advanced Asp.Net Concepts And Constructs
Advanced Asp.Net Concepts And ConstructsAdvanced Asp.Net Concepts And Constructs
Advanced Asp.Net Concepts And Constructs
 
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide showThe complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
 
Road Show Asp Net
Road Show Asp NetRoad Show Asp Net
Road Show Asp Net
 
Introduction to Asp.net 3.5 using VS 2008
Introduction to Asp.net 3.5 using VS 2008Introduction to Asp.net 3.5 using VS 2008
Introduction to Asp.net 3.5 using VS 2008
 
ASP.NET Page Life Cycle
ASP.NET Page Life CycleASP.NET Page Life Cycle
ASP.NET Page Life Cycle
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
 
Introduction to angular js july 6th 2014
Introduction to angular js   july 6th 2014Introduction to angular js   july 6th 2014
Introduction to angular js july 6th 2014
 
10 performance and scalability secrets of ASP.NET websites
10 performance and scalability secrets of ASP.NET websites10 performance and scalability secrets of ASP.NET websites
10 performance and scalability secrets of ASP.NET websites
 
Tips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsTips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC Applications
 
Ch 04 asp.net application
Ch 04 asp.net application Ch 04 asp.net application
Ch 04 asp.net application
 
Esri Dev Summit 2009 Rest and Mvc Final
Esri Dev Summit 2009 Rest and Mvc FinalEsri Dev Summit 2009 Rest and Mvc Final
Esri Dev Summit 2009 Rest and Mvc Final
 
Asp
AspAsp
Asp
 
MVC 1.0 als alternative Webtechnologie
MVC 1.0 als alternative WebtechnologieMVC 1.0 als alternative Webtechnologie
MVC 1.0 als alternative Webtechnologie
 
Ajax assignment help
Ajax assignment helpAjax assignment help
Ajax assignment help
 
Introduction to Vaadin Framework
Introduction to Vaadin FrameworkIntroduction to Vaadin Framework
Introduction to Vaadin Framework
 
Ajax and ASP.NET AJAX
Ajax and ASP.NET AJAXAjax and ASP.NET AJAX
Ajax and ASP.NET AJAX
 

Similar to Walther Ajax4

Integrating ASP.NET AJAX with SharePoint
Integrating ASP.NET AJAX with SharePointIntegrating ASP.NET AJAX with SharePoint
Integrating ASP.NET AJAX with SharePointRob Windsor
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NETPeter Gfader
 
ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008Caleb Jenkins
 
Asp.Net Ajax Component Development
Asp.Net Ajax Component DevelopmentAsp.Net Ajax Component Development
Asp.Net Ajax Component DevelopmentChui-Wen Chiu
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetAdil Mughal
 
ASP.Net Presentation Part1
ASP.Net Presentation Part1ASP.Net Presentation Part1
ASP.Net Presentation Part1Neeraj Mathur
 
Using Ajax In Domino Web Applications
Using Ajax In Domino Web ApplicationsUsing Ajax In Domino Web Applications
Using Ajax In Domino Web Applicationsdominion
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architectureIblesoft
 
New microsoft office power point presentation
New microsoft office power point presentationNew microsoft office power point presentation
New microsoft office power point presentationteach4uin
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controlsRaed Aldahdooh
 
How to develop asp web applications
How to develop asp web applicationsHow to develop asp web applications
How to develop asp web applicationsDeepankar Pathak
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET PresentationRasel Khan
 
Aspnet architecture
Aspnet architectureAspnet architecture
Aspnet architecturephantrithuc
 

Similar to Walther Ajax4 (20)

Integrating ASP.NET AJAX with SharePoint
Integrating ASP.NET AJAX with SharePointIntegrating ASP.NET AJAX with SharePoint
Integrating ASP.NET AJAX with SharePoint
 
ASP.NET 4.0 Roadmap
ASP.NET 4.0 RoadmapASP.NET 4.0 Roadmap
ASP.NET 4.0 Roadmap
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 
ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008
 
Asp dot net long
Asp dot net longAsp dot net long
Asp dot net long
 
Asp.Net Ajax Component Development
Asp.Net Ajax Component DevelopmentAsp.Net Ajax Component Development
Asp.Net Ajax Component Development
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
 
SynapseIndia asp.net2.0 ajax Development
SynapseIndia asp.net2.0 ajax DevelopmentSynapseIndia asp.net2.0 ajax Development
SynapseIndia asp.net2.0 ajax Development
 
ASP.Net Presentation Part1
ASP.Net Presentation Part1ASP.Net Presentation Part1
ASP.Net Presentation Part1
 
Ajax
AjaxAjax
Ajax
 
Using Ajax In Domino Web Applications
Using Ajax In Domino Web ApplicationsUsing Ajax In Domino Web Applications
Using Ajax In Domino Web Applications
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
 
ASP.NET Lecture 1
ASP.NET Lecture 1ASP.NET Lecture 1
ASP.NET Lecture 1
 
New microsoft office power point presentation
New microsoft office power point presentationNew microsoft office power point presentation
New microsoft office power point presentation
 
ASP
ASPASP
ASP
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
 
How to develop asp web applications
How to develop asp web applicationsHow to develop asp web applications
How to develop asp web applications
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 
Webconnection
WebconnectionWebconnection
Webconnection
 
Aspnet architecture
Aspnet architectureAspnet architecture
Aspnet architecture
 

More from rsnarayanan

Kevin Ms Web Platform
Kevin Ms Web PlatformKevin Ms Web Platform
Kevin Ms Web Platformrsnarayanan
 
Harish Aspnet Dynamic Data
Harish Aspnet Dynamic DataHarish Aspnet Dynamic Data
Harish Aspnet Dynamic Datarsnarayanan
 
Whats New In Sl3
Whats New In Sl3Whats New In Sl3
Whats New In Sl3rsnarayanan
 
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...rsnarayanan
 
Advanced Silverlight
Advanced SilverlightAdvanced Silverlight
Advanced Silverlightrsnarayanan
 
Occasionally Connected Systems
Occasionally Connected SystemsOccasionally Connected Systems
Occasionally Connected Systemsrsnarayanan
 
Developing Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And ServicesDeveloping Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And Servicesrsnarayanan
 
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...rsnarayanan
 
J Query The Write Less Do More Javascript Library
J Query   The Write Less Do More Javascript LibraryJ Query   The Write Less Do More Javascript Library
J Query The Write Less Do More Javascript Libraryrsnarayanan
 
Ms Sql Business Inteligence With My Sql
Ms Sql Business Inteligence With My SqlMs Sql Business Inteligence With My Sql
Ms Sql Business Inteligence With My Sqlrsnarayanan
 
Windows 7 For Developers
Windows 7 For DevelopersWindows 7 For Developers
Windows 7 For Developersrsnarayanan
 
What Is New In Wpf 3.5 Sp1
What Is New In Wpf 3.5 Sp1What Is New In Wpf 3.5 Sp1
What Is New In Wpf 3.5 Sp1rsnarayanan
 
Ux For Developers
Ux For DevelopersUx For Developers
Ux For Developersrsnarayanan
 
A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8rsnarayanan
 
App Arch Guide (Dons)
App Arch Guide (Dons)App Arch Guide (Dons)
App Arch Guide (Dons)rsnarayanan
 
Data Access Tech Ed India
Data Access   Tech Ed IndiaData Access   Tech Ed India
Data Access Tech Ed Indiarsnarayanan
 
Federated Identity Architectures Integrating With The Cloud
Federated Identity Architectures   Integrating With The CloudFederated Identity Architectures   Integrating With The Cloud
Federated Identity Architectures Integrating With The Cloudrsnarayanan
 
Pnp Agile Tech Ed India
Pnp Agile Tech Ed IndiaPnp Agile Tech Ed India
Pnp Agile Tech Ed Indiarsnarayanan
 

More from rsnarayanan (20)

Kevin Ms Web Platform
Kevin Ms Web PlatformKevin Ms Web Platform
Kevin Ms Web Platform
 
Walther Mvc
Walther MvcWalther Mvc
Walther Mvc
 
Harish Aspnet Dynamic Data
Harish Aspnet Dynamic DataHarish Aspnet Dynamic Data
Harish Aspnet Dynamic Data
 
Whats New In Sl3
Whats New In Sl3Whats New In Sl3
Whats New In Sl3
 
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
 
Advanced Silverlight
Advanced SilverlightAdvanced Silverlight
Advanced Silverlight
 
Netcf Gc
Netcf GcNetcf Gc
Netcf Gc
 
Occasionally Connected Systems
Occasionally Connected SystemsOccasionally Connected Systems
Occasionally Connected Systems
 
Developing Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And ServicesDeveloping Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And Services
 
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
 
J Query The Write Less Do More Javascript Library
J Query   The Write Less Do More Javascript LibraryJ Query   The Write Less Do More Javascript Library
J Query The Write Less Do More Javascript Library
 
Ms Sql Business Inteligence With My Sql
Ms Sql Business Inteligence With My SqlMs Sql Business Inteligence With My Sql
Ms Sql Business Inteligence With My Sql
 
Windows 7 For Developers
Windows 7 For DevelopersWindows 7 For Developers
Windows 7 For Developers
 
What Is New In Wpf 3.5 Sp1
What Is New In Wpf 3.5 Sp1What Is New In Wpf 3.5 Sp1
What Is New In Wpf 3.5 Sp1
 
Ux For Developers
Ux For DevelopersUx For Developers
Ux For Developers
 
A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8
 
App Arch Guide (Dons)
App Arch Guide (Dons)App Arch Guide (Dons)
App Arch Guide (Dons)
 
Data Access Tech Ed India
Data Access   Tech Ed IndiaData Access   Tech Ed India
Data Access Tech Ed India
 
Federated Identity Architectures Integrating With The Cloud
Federated Identity Architectures   Integrating With The CloudFederated Identity Architectures   Integrating With The Cloud
Federated Identity Architectures Integrating With The Cloud
 
Pnp Agile Tech Ed India
Pnp Agile Tech Ed IndiaPnp Agile Tech Ed India
Pnp Agile Tech Ed India
 

Recently uploaded

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 

Recently uploaded (20)

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 

Walther Ajax4

  • 1.
  • 3. ASP.NET AJAX Accordion AlwaysVisibleControl Animation AutoComplete Calendar CascadingDropDown CollapsiblePanel ConfirmButton
  • 4. ASP.NET AJAX AjaxControlToolkit- ScriptFilesOnly.zip
  • 5. ASP.NET AJAX http://www.ASP.net/ajax
  • 6. Introduction Web Application Experience in 1993
  • 7. Introduction Brendan Eich’s Home Page (the inventor of JavaScript)
  • 8. Introduction Super Fancy Ajax Application
  • 9. Different Types of Web Applications ASP.NET Server-Side Pages are rendered on the server and updated through postbacks ASP.NET Server-Side AJAX (AJAH) Pages are rendered on the server and updated through AJAX requests for HTML ASP.NET Client-Side AJAX Pages are rendered on the client and updated through Ajax requests for JSON
  • 10. Client-Side Application Model renders once Ajax Calls (services)
  • 11. Why AJAX Applications Are Good Less roundtrips Less bandwidth Less work on the web server More responsive
  • 12. Why AJAX Applications are Good Two developers: an ASP.NET and JavaScript developer. Ask each developer when a button click event happens…
  • 13. Overview: 3 Ways to Build an Application 1. Server-Side ASP.NET 2. Server-Side ASP.NET AJAX 3. Client-Side ASP.NET AJAX
  • 14. Overview: Features of Client-Side ASP.NET AJAX 1. Declarative Client-Side Controls 2. Command Bubbling 3. Live Bindings 4. Saving and Updating Data 5. Using Templates with JSONP
  • 15. Server-Side ASP.NET with No Ajax • Controls renders • Code • Work postback Web Server Web Browser
  • 16. Creating a Master/Detail Page with Server-Side ASP.NET
  • 17. Server-Side ASP.NET Benefits Safe: No Browser Compatibility Issues Powerful: Use any programming language Drawbacks Responsiveness: User must wait for a postback Performance: All page content must be rendered for each interaction
  • 18. Server-Side ASP.NET AJAX with UpdatePanel • Controls renders • Code • Work sneaky postback Web Server Web Browser
  • 19. Creating a Master/Detail Page with Server-Side ASP.NET AJAX
  • 20. Server-Side ASP.NET AJAX Benefits Safe: No Browser Compatibility Issues Powerful: Use any programming language Compatible: Retrofit existing ASP.NET applications Drawbacks Responsiveness: User must wait for a postback (no simultaneous Ajax) Performance: (most) page content must be rendered for each interaction
  • 21. Client-Side ASP.NET AJAX Controls • Code renders • Work • Controls sneaky postback Web Server Web Browser
  • 22. Creating a Master/Detail Page with Client-Side AJAX Controls
  • 23. Client-Side ASP.NET AJAX Controls Perfection Reached! Benefits Responsive: Events happen when they happen Performance: Only necessary content is passed between client and server Clean separation of content and behavior
  • 24. Data Sources ASP.NET AJAX is compatible with anything that exposes JSON: ASMX Web Services WCF Web Services HTTP Handlers JavaScript arrays ASP.NET MVC JSonResult ADO.NET Data Services REST Services .NET RIA Services
  • 25. Why Templates are Good for (var i=0;i < data.length;i++) { row = quot;<tr>quot;; row += quot;<td>quot; + data[i].Title + quot;</td>quot;; row += quot;<td>quot; + data[i].Director + quot;</td>quot;; table += row; } $get(quot;movieBodyquot;).innerHTML = table; (Evil)
  • 26. Why Templates are Good movieView.set_data(data); <tbody id=quot;movieBodyquot; class=quot;sys-templatequot;> <tr> <td>{{ Title }}</td> <td>{{ Director }}</td> <td>{{ DateReleased.localeFormat(quot;Dquot;) }}</td> </tr> </tbody> (Good)
  • 27. Rude Objections (impediments to a perfect future) Browser Back/Forward button Accessibility Search Engine Optimization (SEO) JavaScript disabled (Mobile Devices)
  • 28. Creating a Master/Detail Page that supports JavaScript failover
  • 29. Technology Independent Client-Side ASP.NET AJAX… Works with any modern browser including IE, Firefox, Chrome, Safari, and Opera. Works with any back-end technology that exposes JSON (not dependent on ASP.NET) Works with HTML pages, no need for ASP.NET.
  • 30. Creating a Master/Detail Page with Pure HTML
  • 31. Additional ASP.NET AJAX 4.0 Features Declarative Client-Side Controls Command Bubbling Live Bindings Saving and Updating Data
  • 32. Declarative Controls XML Namespaces xmlns:sys=“javascript:Sys” xmlns:dataview=“javascript:Sys.UI.DataView” sys:activate Activates declarative controls sys:attach Attaches a control to a DOM element
  • 33. Creating a Master/Detail Page with Declarative Client-Side Controls
  • 34. Command Bubbling sys:command A command name such as select, edit, and so on sys:commandargument A command argument such as 78 Sys:commandtarget A control or name of a control that is the target of the command. onCommand DataView event handler that you can use to handle a custom command
  • 35. Select Command DataView Properties selectedIndex initialSelectedIndex selectedData selectedItemClass
  • 36. Creating a Master/Detail Page with Command Bubbling
  • 37. Live Bindings {{ Title }} Used to execute JavaScript in the context of the current data item {binding Title } WPF style binding syntax Supports live binding
  • 38. Live Bindings One-way, One-time - The data value is updated only the first time that data binding is invoked. {{ CompanyName }} One-way, Live - If the underlying data item is modified, the rendered data value is updated automatically. <span>{binding CompanyName}</span> Two-way, Live - If the user changes the data value, the value of the underlying data item is updated. In addition, if the data item is modified from another source, the rendered data value is updated. <input type=“text” value=“{binding CompanyName}” />
  • 39. Creating a Master/Detail Page with Live Bindings
  • 40. Data Sources ASP.NET AJAX is compatible with anything that exposes JSON: ASMX Web Services WCF Web Services HTTP Handlers JavaScript arrays ASP.NET MVC JSonResult ADO.NET Data Services REST Services .NET RIA Services
  • 41. DataContext Class Provides read/write access to data Supports change tracking in the browser Send multiple changes in a single batch to the server Use AdoNetDataContext class with ADO.NET Data Services
  • 42. Creating a Master/Detail Page that saves data
  • 43. Using ADO.NET Data Services
  • 44.
  • 45. Conclusion Embrace the client-side! For better performance and a better user experience, start writing client-side ASP.NET AJAX applications.
  • 46. Resources My Blog StephenWalther.com CodePlex ASP.NET Previews aspnet.CodePlex.com Official ASP.NET Website www.ASP.net/ajax
  • 47.
  • 48.
  • 49. Related Content Breakout Sessions (session codes and titles) Interactive Theater Sessions (session codes and titles) Hands-on Labs (session codes and titles) Hands-on Labs (session codes and titles)
  • 50. Track Resources Resource 1 Resource 2 Resource 3 Resource 4
  • 51. © 2009 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.