1 / 20

AJAX in ASP.NET

AJAX in ASP.NET. James Crowley Developer Fusion http://www.developerfusion.co.uk/. Overview. What is AJAX? How does it work? Using it in ASP.NET 1.x Using it in ASP.NET 2.0 Challenges. What is AJAX (and who cares?). Current postback solutions can be slow and confusing to users

kaden-lara
Download Presentation

AJAX in ASP.NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AJAX in ASP.NET James Crowley Developer Fusion http://www.developerfusion.co.uk/

  2. Overview • What is AJAX? • How does it work? • Using it in ASP.NET 1.x • Using it in ASP.NET 2.0 • Challenges

  3. What is AJAX (and who cares?) • Current postback solutions can be slow and confusing to users • AJAX allows server-side processing to occur without a postback, and therefore... a more interactive & responsive UI • Nothing new, but all the rage thanks to Google Maps, Flickr, and A9 to name a few

  4. Server Web Server Database How it works 1 Client Browser Async HTTP Request JavaScript XML HTTP Object Parameters DHTML

  5. How it works 2 Client Browser Server Web Server JavaScript XML HTTP Object DHTML Database

  6. Server Web Server Database How it works 3 Client Browser Async HTTP Response JavaScript XML HTTP Object Text, XML, HTML, etc DHTML

  7. AJAX in ASP.NET 1.x • Either we deal with the XML HTTP request ourselves • or we can use an existing library, such as • AJAX.NET wrapperhttp://ajax.schwarz-interactive.de/ • “My AJAX.NET” http://jason.diamond.name/weblog/

  8. Demo • “Colourizing” Code

  9. Complex Data Types • Need to either reproduce (a subset of) the .NET type system within JavaScript or vice-versa • Need to serialize for transfer via HTTP • Serializable return types dealt with automatically • Parameters are harder

  10. Demo • “Google Suggest”

  11. AJAX in ASP.NET 2.0 • Known as “Script Callbacks” • Call ClientScript.GetCallBackEventReference to get the string for a javascript call to trigger a callback • Implement the ICallbackEventHandler interface public stringGetCallbackEventReference(System.Web.UI.Controlcontrol, stringargument, stringclientCallback, stringcontext, stringclientErrorCallback, booluseAsync) public interface ICallbackEventHandler { void RaiseCallbackEvent(string eventArgument); String GetCallbackResult(); }

  12. ASP.NET 2.0 vs AJAX.NET • No dynamic mapping of parameters using reflection • More complicated with multiple callbacks • No JavaScript objects corresponding to server-side types (only returning strings) • Executes within the page lifecycle

  13. Things to note • ViewState not updated during a callback because of allowance for parallel callbacks • Page.IsPostBack is true for callbacks and postbacks. Use Page.IsCallback • Request.Browser.SupportsCallback

  14. Demo • AJAX in ASP.NET 2.0

  15. Atlas • New library from Microsoft to plug-in to ASP.NET 2.0 • Preview available from http://atlas.asp.net/ • Warning: pre-Alpha quality! • But Microsoft wants your feedback…

  16. Atlas • Cross-browser script libraries, bringing namespaces, inheritance, and plenty more • Callbacks triggered in similar way to AJAX.NET library • Web Services integration • Declarative data binding • New AJAX-enabled server controls

  17. Things to watch out for… • Debugging is a pain • Response timeouts and server exceptions • Non-JavaScript/non-ActiveX scenarios

  18. Things to watch out for… • Accessibility, page flow, scroll position • Can break layered architectures • Inability to access by URL, and breaking back/forward browser buttons • No search indexing for AJAX’ed data

  19. Wrapping Up AJAX enables you to create web apps that are… more responsive with enhanced functionality… and a great user experience • Go away and experiment! • Email me: james@developerfusion.co.uk

  20. References • ASP.NET AJAX Libraries • http://ajax.schwarz-interactive.de/ (AJAX.NET) • Tutorial @ http://www.developerfusion.co.uk/show/4704/ • http://jason.diamond.name/weblog/ (My AJAX.NET) • http://atlas.asp.net/ (Atlas) • My Contact Details • Web: http://www.developerfusion.co.uk/ • Email: james@developerfusion.co.uk

More Related