Sofia, Bulgaria | 9-10 October Developing An Advanced ASP.NET Server Control With Rich Design-Time Goksin Bakir Yage Ltd Microsoft Regional Director, MEA Goksin Bakir Yage Ltd Microsoft Regional Director, MEA
Sofia, Bulgaria | 9-10 October Developing ASP.NET 2.0 Server Controls Agenda Rich UI Master Pages Themes and Skins Smart Clients Scenario Real estate company web site requires rich controls to enable a variety of custom scenarios Solution PhotoViewer: Allows a user to navigate through a collection of photos for a given listing MultiList: Allows a user to view real estate listings in a geographical region We will cover Runtime: Composition, state management, callbacks, web resources, script handling, and data bound controls Design-time: Region-editing, task-based editing, painting, host services Rich UI Master Pages Themes and Skins Smart Clients Scenario Real estate company web site requires rich controls to enable a variety of custom scenarios Solution PhotoViewer: Allows a user to navigate through a collection of photos for a given listing MultiList: Allows a user to view real estate listings in a geographical region We will cover Runtime: Composition, state management, callbacks, web resources, script handling, and data bound controls Design-time: Region-editing, task-based editing, painting, host services
Sofia, Bulgaria | 9-10 October Master Page Basics Masters define common content and placeholders ( ) Content pages reference masters and fill placeholders with content ( ) Masters define common content and placeholders ( ) Content pages reference masters and fill placeholders with content ( ) <asp:ContentPlaceHolder ID="Main" RunAt="server" /> <asp:ContentPlaceHolder ID="Main" RunAt="server" /> Page MasterPage- File="Site.master" %> <asp:Content ContentPlaceHolderID= "Main" RunAt="server" /> Page MasterPage- File="Site.master" %> <asp:Content ContentPlaceHolderID= "Main" RunAt="server" /> Site.masterdefault.aspxhttp://.../default.aspx
Sofia, Bulgaria | 9-10 October Themes and Skins Mechanism for theming controls, pages, and sites by group-initializing control properties Skin = Visual attributes for control(s) Physically stored in.skin files Default skins and named skins Theme = Collection of one or more skins Physically stored in Themes subfolders Global themes and local themes Mechanism for theming controls, pages, and sites by group-initializing control properties Skin = Visual attributes for control(s) Physically stored in.skin files Default skins and named skins Theme = Collection of one or more skins Physically stored in Themes subfolders Global themes and local themes
Sofia, Bulgaria | 9-10 October Applying a Theme to a Page BeforeAfter
Sofia, Bulgaria | 9-10 October Local Themes Themes BasicBlue Smoke- AndGlass SKIN ASP.NET- ClientFiles Theme name = Subdirectory name
Sofia, Bulgaria | 9-10 October Global Themes Themes Shocking- Pink Autumn- Leaves SKIN vroot Theme name = Subdirectory name
Sofia, Bulgaria | 9-10 October Smart Client Features Offline capable Cache online data Update when connected Datasets in smart documents Intelligent deployment and update Easy non-administrator deployment Automatic updates Smart document deployment Rich / easy developer experience Offline capable Cache online data Update when connected Datasets in smart documents Intelligent deployment and update Easy non-administrator deployment Automatic updates Smart document deployment Rich / easy developer experience
Sofia, Bulgaria | 9-10 October Smart Client Technologies Visual Studio 2005 Rich visual designer support Integrated ClickOnce testing and deployment Visual Studio Tools for Office.NET Framework 2.0 Windows Forms 2.0 ClickOnce deployment Visual Studio 2005 Rich visual designer support Integrated ClickOnce testing and deployment Visual Studio Tools for Office.NET Framework 2.0 Windows Forms 2.0 ClickOnce deployment
Sofia, Bulgaria | 9-10 October Visual Studio 2005 Project templates Get up and going quickly Common application types Designers Simplifies development of UI and layout Rich User Control development Rich support for Custom Controls Project templates Get up and going quickly Common application types Designers Simplifies development of UI and layout Rich User Control development Rich support for Custom Controls
Sofia, Bulgaria | 9-10 October What is smart Local resources and user experience Offline capable Intelligent deployment and update Multithreaded Crash Proof Local resources and user experience Offline capable Intelligent deployment and update Multithreaded Crash Proof
Sofia, Bulgaria | 9-10 October
Photoviewer Runtime: Callbacks And Web Resources Scenario Child control will handle rendering Manage state in parent control Eliminate page flicker, update only relevant markup Deploy control as single assembly Solution StateManagedCollection simplifies state management for collection items Callbacks transfer data between client and server using XMLHTTP and JavaScript Embedded WebResources used to ease deployment and versioning Scenario Child control will handle rendering Manage state in parent control Eliminate page flicker, update only relevant markup Deploy control as single assembly Solution StateManagedCollection simplifies state management for collection items Callbacks transfer data between client and server using XMLHTTP and JavaScript Embedded WebResources used to ease deployment and versioningRaiseCallbackEventGetCallbackResult Web Server Client
Sofia, Bulgaria | 9-10 October Photoviewer Runtime
Sofia, Bulgaria | 9-10 October Photoviewer Controldesigner: Regions And Smart Tags Scenario Enhanced design-time interactivity Promote important editing operations Solution CompositeControlDesigner handles interaction with runtime control Web resources are handled by the designer host DesignerRegions describe clickable, selectable, and editable areas Mouse click responds to user input Smart Tags expose important and complex tasks Scenario Enhanced design-time interactivity Promote important editing operations Solution CompositeControlDesigner handles interaction with runtime control Web resources are handled by the designer host DesignerRegions describe clickable, selectable, and editable areas Mouse click responds to user input Smart Tags expose important and complex tasks
Sofia, Bulgaria | 9-10 October Photoviewer Design-Time
Sofia, Bulgaria | 9-10 October MultiList Runtime Scenario Data and templates define composition Control must function when ViewState is disabled Solution Extend CompositeDataBoundControl to handle creation of child controls based on data Use templates to allow user to customize rendering Store critical state in ControlState rather than ViewState Scenario Data and templates define composition Control must function when ViewState is disabled Solution Extend CompositeDataBoundControl to handle creation of child controls based on data Use templates to allow user to customize rendering Store critical state in ControlState rather than ViewState
Sofia, Bulgaria | 9-10 October MultiList Runtime
Sofia, Bulgaria | 9-10 October MultiList Design-time Scenario WYSIWYG template editing Use standard interfaces for wiring up to a data source Solution Extend DataBoundControlDesigner to offer data source picker and expose schema DesignerRegions provide custom inline editing of template content Paint graphics to go beyond HTML Scenario WYSIWYG template editing Use standard interfaces for wiring up to a data source Solution Extend DataBoundControlDesigner to offer data source picker and expose schema DesignerRegions provide custom inline editing of template content Paint graphics to go beyond HTML
Sofia, Bulgaria | 9-10 October MultiList Design-Time
Sofia, Bulgaria | 9-10 October Summary Runtime Composite controls and templates for scenario controls DataBoundControl class for data-driven content WebResources for embedded content ControlState for critical state Design-time DesignerActionLists for contextual tasks DesignerRegions for contextual editing Clicking and painting for interactive page design Auto format for common control styles Runtime Composite controls and templates for scenario controls DataBoundControl class for data-driven content WebResources for embedded content ControlState for critical state Design-time DesignerActionLists for contextual tasks DesignerRegions for contextual editing Clicking and painting for interactive page design Auto format for common control styles
Sofia, Bulgaria | 9-10 October Call To Action ASP.net 2.0 adds many new features for the control developer Control WebControl CompositeControlDataBoundControl CompositeDataBoundControl MultiListMultiListViewSwitcherPhotoViewer Your Control Here!
Sofia, Bulgaria | 9-10 October Community Resources INETA MEA ! mea.ineta.org Presenter as a resource ASP.NET Web Site - MSDN dev center - ASP.NT Forums Channel 9 tag - INETA MEA ! mea.ineta.org Presenter as a resource ASP.NET Web Site - MSDN dev center - ASP.NT Forums Channel 9 tag -
Sofia, Bulgaria | 9-10 October Summary Runtime Composite controls and templates for scenario controls DataBoundControl class for data-driven content WebResources for embedded content ControlState for critical state Design-time DesignerActionLists for contextual tasks DesignerRegions for contextual editing Clicking and painting for interactive page design Auto format for common control styles Runtime Composite controls and templates for scenario controls DataBoundControl class for data-driven content WebResources for embedded content ControlState for critical state Design-time DesignerActionLists for contextual tasks DesignerRegions for contextual editing Clicking and painting for interactive page design Auto format for common control styles
Sofia, Bulgaria | 9-10 October Please fill out the survey forms! They are the key to amazing prizes that you can get at the end of each day Thank you!
Sofia, Bulgaria | 9-10 October