Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Thank you all who came for my talk on ASP.NET WebForms 4.5 at DevIntersection(https://devintersection.com/)
Please find the slides and the samples as follows
Slides
Web forms- DevIntersection from rustd
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