Modern ASP.NET WebForms 4.5–DevIntersection 2012


Thank you all who came for my talk on ASP.NET WebForms 4.5 at DevIntersection(http://devintersection.com/)

Please find the slides and the samples as follows

Slides

 

Samples

 

 

I have also included my talk walkthrough so you can relate to all the concepts I talked about

Talk Walkthrough

– Outline
     — Not the usual flow of features but some interesting things you can do with the webforms framework
     — Pattern based development
     — Cleaner code
     — Extensibility    

– Templates rendering
    — Standards compliant

– OAuth/Open Id Login
     — Uncomment AuthConfig
     — Login using Google

– Web Optimization
     — Debug=true(all files)
    — Debug=false(bundled files)
     — Framework scripts
         —- Bundled as nuget packages
– Tips & tricks
     — Script Manager
         — Remappings
             —- Originally come from aspnet ajaxcdn but you can change it
         — CDN support(enable cdn=true)
             —- Even the bundles
         — LoadSuccessExpression
             —- If the network goes out then you can load the scripts locally

– Patterns/Tips & Tricks
     — Model Binding
         —- Basics
        —- Model Binding
        —- Routing
        —- PRG
         —- Repository
         —- Unit Testability
         —- Dynamic data
         —- Model Binding Extensibility
         ——  Aggregate Value Providers and an attribute
                 Similar to mvc
          —– AdHoc Model Binding
                 No data controls
                 Anonymous types cannot be constructed

    – Control Builder Interceptor
         — Customize the compilation system
         — Change what kind of code gets generated
         — Great of custom control developers
         — Edit the codedom of the existing control – not possible before
             —- Sub class the control
             —- Reimplement the control builder
         — To use this put it in the config
         — Layer of indirection between UI/code something like MVP. Little code talking to UI
         — Layer of indirection between code and markup
         — Take this idea further along
             —- Advanced control builder interceptor
             —- Earlier written using custom controls but with the new feature in v4.5 you can do it more easily

     — Command Bubbling
         —- WPF/Silverlight
         —- Rather than event handlers to do business logic – command interface
         —- Remove as much code as I can
          —- Code interacts with controls – separation of concerns
          —- Declarative statements to wire up server controls to data
          —- Imperative logic factored out into different classes
        —- Webforms has bubbling event(

Controls like gridview work like this)
         —- Separation of concern/Clean code behind
         —- Event bubbling to update UI when an event happens(click/button)
         —- Component driven/event driven

  Tag Mapping
         — Code to modify control…do not put it in the code behind
         — Remapping controls
     — Custom Templates
         — User voice item
         — Load them from database/file etc

  — Imperative vs declarative
             — Declarative – more maintainable – you know everything statically
             — Imperative – set stuff dynamically
   
– Async Support
     — Async=false
     — Async=true
    –Async/await usage
       

– FriendlyURLs
     — Cleaner Urls which are easy to use
     — Show the async demo on a mobile device

– Scaffolding
     — Person class
     — Scaffold using UI
     — CRUD on desktop
     — Default on mobile


Comments (0)

Skip to main content