asp.net ajax extensions richard soeteman [email protected]

24
ASP.NET AJAX ASP.NET AJAX Extensions Extensions Richard Soeteman Richard Soeteman rsoeteman rsoeteman @ @ detrio.nl detrio.nl http:// http:// www.richardsoeteman.net www.richardsoeteman.net

Upload: bert-brander

Post on 24-May-2015

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

ASP.NET AJAX ASP.NET AJAX ExtensionsExtensions

Richard SoetemanRichard Soeteman

rsoetemanrsoeteman@@detrio.nldetrio.nl

http://http://www.richardsoeteman.netwww.richardsoeteman.net

Page 2: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

IntroductieIntroductie

AAsynchronous synchronous JJavascript avascript AAnd nd XXmlml Bedoeld voor een betere user Bedoeld voor een betere user

experienceexperience

Page 3: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

FrameworksFrameworks Ajax.Net Ajax.Net AjaxiumAjaxium BitkraftBitkraft AnthemAnthem MagicAJAX.NET MagicAJAX.NET Asp.net AjaxAsp.net Ajax En nog vele andere….En nog vele andere….

Vergelijking: http://www.ajaxdiff.com/Vergelijking: http://www.ajaxdiff.com/

Page 4: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

ASP.NET AJAX ASP.NET AJAX ArchitectuurArchitectuur

Microsoft AJAX Library

Browsers (IE, Firefox, Safari, others)Browsers (IE, Firefox, Safari, others)

Browser CompatibilityBrowser Compatibility

Asynchronous CommunicationsAsynchronous Communications

Script Core LibraryScript Core Library

Base Class LibraryBase Class Library

XHTML/CSSXHTML/CSS Client ScriptsClient Scripts

Client Server

ASP.NET 2.0

PageFramework andServer Controls

PageFramework andServer Controls

ApplicationServices

ApplicationServices

ASP.NET AJAX Extensions

AJAXServer Controls

AJAXServer Controls

AsynchronousCommunications

AsynchronousCommunications

ApplicationServices Bridge

ApplicationServices Bridge

ASPXASPX ASMXASMX

Page 5: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

Client script Client script mogelijkhedenmogelijkheden

Nieuwe Javascript features…..Nieuwe Javascript features….. Browser onafhankelijkBrowser onafhankelijk

http://ajax.asp.net/docs/ClientReference/http://ajax.asp.net/docs/ClientReference/default.aspxdefault.aspx

Page 6: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

ScriptmanagerScriptmanager

Het centrale control voor ASP.NET Het centrale control voor ASP.NET AJAX extensionsAJAX extensions

Wat doet het Scriptmanager control?Wat doet het Scriptmanager control? Veel….Veel….

EénEén Scriptmanager control per Scriptmanager control per paginapagina

Page 7: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

Scriptmanager control Scriptmanager control voorbeeldvoorbeeld

<asp:ScriptManager ID="ScriptManager1" AllowCustomErrorsRedirect="true|false" AsyncPostBackErrorMessage="Async Error" AsyncPostBackTimeout="time in milliseconds" EnablePageMethods="true|false" EnablePartialRendering="true|false" EnableScriptGlobalization="true|false" EnableScriptLocalization="true|false" ScriptMode="Auto|Debug|Inherit|Release" ScriptPath="root custom javascript bestanden " runat="server" > <Scripts><!--Registreer Java Scripts hier--></Scripts> <Services><!--Registreer WebServices hier--></Services> <AuthenticationService Path="pad naar webservices"/> <ProfileService LoadProperties="properties"

Path="pad naar webservice" /></asp:ScriptManager>

Page 8: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

Scriptmanager ProxyScriptmanager Proxy

Mogelijkheden om additionele Mogelijkheden om additionele webservices en client scripts te webservices en client scripts te registreren. registreren.

<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="Server"> <Scripts><!--Additionele javascripts hier--></Scripts> <Services><!--Additionele webServices hier--></Services> <AuthenticationService Path="Pad naar additionele authenticatieService" /> <ProfileService LoadProperties="properties" Path="Pad naar additionele authenticatie service" /></asp:ScriptManagerProxy>

Page 9: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

UpdatepanelUpdatepanel

Maakt partial-page postbacks Maakt partial-page postbacks mogelijk mogelijk

Geen kennis van Javascript vereistGeen kennis van Javascript vereist

Page 10: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

Updatepanel voorbeeldUpdatepanel voorbeeld

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always|Conditional" ChildrenAsTriggers="true|false" Rendermode="Block|Inline"> <ContentTemplate> <!--Content hier--> </ContentTemplate> <Triggers> <!--Triggers hier--> </Triggers></asp:UpdatePanel>

Page 11: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

TriggersTriggers

AsyncPostBackTriggerAsyncPostBackTrigger PostBackTriggerPostBackTrigger

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate><!--Content hier--></ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="Button1" /> <asp:AsyncPostBackTrigger ControlID="TextBox1"

EventName="TextChanged" /> <asp:PostBackTrigger ControlID="Button2" /> </Triggers></asp:UpdatePanel>

Page 12: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

Timer controlTimer control

Bedoeld voor periodieke updatesBedoeld voor periodieke updates

<asp:Timer ID="Timer1" runat="server“Interval="tijd in milliseconden" OnTick="Server side Tick event">

</asp:Timer>

Page 13: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

UpdateprogressUpdateprogress

Indicatie dat een postback aan de Indicatie dat een postback aan de gang isgang is

Middels client script postback Middels client script postback onderbrekenonderbreken

Page 14: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

Updateprogress Updateprogress voorbeeldvoorbeeld

<asp:UpdateProgress

ID="UpdateProgress1"

Runat="Server"

DisplayAfter="Tijd in ms"

AssociatedUpdatePanelID="UpdatePanelID"

DynamicLayout="true|false">

<ProgressTemplate>

</ProgressTemplate>

</asp:UpdateProgress>

Page 15: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

DemoDemo

Page 16: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

Integratie met Integratie met WebservicesWebservices

Webmethods middels een Javascript Webmethods middels een Javascript proxy proxy

Built in Webservices:Built in Webservices: Authenticatie serviceAuthenticatie service Profile serviceProfile service

Page 17: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

Ajax Enabled WebserviceAjax Enabled Webservice

web.config configureren voor script web.config configureren voor script proxiesproxies

ScriptService attribuut toevoegen ScriptService attribuut toevoegen aan webserviceaan webservice

[System.Web.Script.Services.ScriptService] public class CodeCampService : System.Web.Services.WebService { [WebMethod] public string SessionsInTrack(string input) { ………………………

[System.Web.Script.Services.ScriptService] public class CodeCampService : System.Web.Services.WebService { [WebMethod] public string SessionsInTrack(string input) { ………………………

Page 18: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

Ajax Enabled Webservice Ajax Enabled Webservice ClientClient

Webservice registreren bij de Webservice registreren bij de ScriptmanagerScriptmanager

Javascript code voor aanroep Javascript code voor aanroep webservicewebservice

function Button1_onclick() { CodeCampDemo.CodeCampService.SomeMethod( someVar, OnLookupComplete, OnError);}function OnLookupComplete(result){ var res = $get("ResultLabel"); res.innerHTML = result ;}function OnError(error){ alert('Fout: ' + error.get_message());}

function Button1_onclick() { CodeCampDemo.CodeCampService.SomeMethod( someVar, OnLookupComplete, OnError);}function OnLookupComplete(result){ var res = $get("ResultLabel"); res.innerHTML = result ;}function OnError(error){ alert('Fout: ' + error.get_message());}

Page 19: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

Page MethodsPage Methods

Aanroepen van static server-side Aanroepen van static server-side methods vanuit client script.methods vanuit client script.

Page 20: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

DemoDemo

Page 21: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

Toekomstige Toekomstige functionaliteitfunctionaliteit

Ondersteuning voor WebPartsOndersteuning voor WebParts XML-Script. XML-Script. Javascript intellisense support in Visual Javascript intellisense support in Visual

StudioStudio WCF support voor webservicesWCF support voor webservices Ondersteuning voor browsers back button-Ondersteuning voor browsers back button-

historyhistory Data ControlsData Controls Silverlight ondersteuningSilverlight ondersteuning Ondersteuning voor Dynamic Languages Ondersteuning voor Dynamic Languages

(Iron Python/ Managed JScript(Iron Python/ Managed JScript

Page 22: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

ResourcesResources Asp.net Ajax Homepage: http://ajax.asp.net/Asp.net Ajax Homepage: http://ajax.asp.net/ Control Toolkit: http://www.codeplex.com/AtlasControlToolkit/Control Toolkit: http://www.codeplex.com/AtlasControlToolkit/ Asp.net Ajax Documentatie: http://ajax.asp.net/docs/Asp.net Ajax Documentatie: http://ajax.asp.net/docs/ Toekomstige functionaliteit: http://quickstarts.asp.net/futures/Toekomstige functionaliteit: http://quickstarts.asp.net/futures/ Json Homepage: Json Homepage: http://http://www.json.orgwww.json.org// Ajax Patterns: http://ajaxpatterns.org/Ajax Patterns: http://ajaxpatterns.org/ Library Cheat sheets: Library Cheat sheets:

http://aspnetresources.com/blog/ms_ajax_cheat_sheets_batch1http://aspnetresources.com/blog/ms_ajax_cheat_sheets_batch1.aspx.aspx

ASP.Net AJAX tutorials: ASP.Net AJAX tutorials: http://www.softsteel.co.uk/tutorials/aspnetajaxhttp://www.softsteel.co.uk/tutorials/aspnetajax

Blog Scott Guthrie: http://weblogs.asp.net/scottgu/Blog Scott Guthrie: http://weblogs.asp.net/scottgu/ Nikhil Kothari's weblog: http://www.nikhilk.net/Nikhil Kothari's weblog: http://www.nikhilk.net/ Brad Abrahams weblog: http://blogs.msdn.com/brada/Brad Abrahams weblog: http://blogs.msdn.com/brada/ Fredrik Normén's weblog: http://fredrik.nsquared2.com/Fredrik Normén's weblog: http://fredrik.nsquared2.com/

Page 23: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

Vragen?Vragen?

Page 24: ASP.NET AJAX Extensions Richard Soeteman rsoeteman@detrio.nl

Bedankt!Bedankt!

Richard SoetemanRichard Soeteman

[email protected]@detrio.nl

http://http://www.richardsoeteman.netwww.richardsoeteman.net