UpdatePanel Best Practices
UpdatePanel Best Practices. Normal Page life cycle. browser. Control tree creation. ViewState deserialization. DataBinding. HTML generation. HTTP GET. HTML. Page. init. load. render. Postback Page life cycle. Browser. ___doPostBack. Control tree creation.
UpdatePanel Best Practices
E N D
Presentation Transcript
Normal Page life cycle browser • Control treecreation • ViewStatedeserialization • DataBinding • HTML generation HTTP GET HTML Page init load render
Postback Page life cycle Browser ___doPostBack • Control treecreation • ViewStatedeserialization • ProcessPostData • IPostBackDataHandler • DataBinding • ProcessPostData • IPostBackEventHandler • HTML generation __EVENTTARGET ClientID of postback control__EVENTARGUMENT Optional argument HTTP POST HTML Page init load render
Source : http://blogs.developpeur.org/cyril/archive/2006/09/14/Cycle-de-vie-d-une-page-ASP-net.aspx
UpdatePanel • Partial-page rendering in a box • Clean round trips to server and flicker-free updates • Requires no knowledge of JavaScript or AJAX • Use XMLHttpRequest • AJAX (Asynchronous JavaScript And XML)
AsyncPostback Page life cycle Browser ___doPostBack MS Ajax __doPostBack HTTP POST XMLHttpRequest Partial HTML HTML Page init load render Ms Ajax Render
Best Practices • Use triggers • AsyncPostBackTriger • PostbackTrigger • Use SriptManager.IsInAsyncPostback • Use UpdateMode.Conditional • Default value isAllways • Call .Update() method • ReduceUpdatePanel size • 2 smallUpdatePanelisbetterthan a big one • Use ScriptManager in MasterPage • Use ScriptManagerProxy in the content Page
Pros & Cons • Pros • Veryeasy to use • Postbackphilosophy • No new concept to understand • No JavaScript • Cons • No JavaScript • Expensive • Full Postback • Large network exchange • Client Performance problem
Alternative • JQuery • Framework for JavaScript developper • Easy DOM manipulation • www.jquery.com Client / Browser Server MyPage.aspx Layout / HTML HTML JavaScript MyDataservice.svc Data / JSON • DataService • SOA approch • ASP.net as a service • Pure JavaScript