Presentation is loading. Please wait.

Presentation is loading. Please wait.

AJAX in ASP.NET James Crowley Developer Fusion

Similar presentations


Presentation on theme: "AJAX in ASP.NET James Crowley Developer Fusion"— 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 How it works Server Web Server Database Client Browser JavaScript DHTML XML HTTP Object 1 Async HTTP Request Parameters

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

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

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 wrapper http://ajax.schwarz-interactive.de/ http://ajax.schwarz-interactive.de/  “My AJAX.NET” http://jason.diamond.name/weblog/ 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 interface ICallbackEventHandler { void RaiseCallbackEvent(string eventArgument); String GetCallbackResult(); } public string GetCallbackEventReference(System.Web.UI.Control control, string argument, string clientCallback, string context, string clientErrorCallback, bool useAsync)

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/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 Go away and experiment! Email me: james@developerfusion.co.uk AJAX enables you to create web apps that are… more responsive with enhanced functionality … and a great user experience

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


Download ppt "AJAX in ASP.NET James Crowley Developer Fusion"

Similar presentations


Ads by Google