Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ASP.NET MVC
Search
John Downey
September 26, 2011
Programming
340
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ASP.NET MVC
John Downey
September 26, 2011
More Decks by John Downey
See All by John Downey
Cryptography Pitfalls at CactusCon 2019
jtdowney
0
210
Intro to Cybersecurity Workshop
jtdowney
0
170
Cryptography Pitfalls at BsidesMSP 2017
jtdowney
0
220
Cryptography Pitfalls at THOTCON 0x8
jtdowney
0
230
Cryptography Pitfalls at ConFoo Montreal 2017
jtdowney
1
400
Cryptography Pitfalls at BSidesPhilly 2016
jtdowney
0
180
Cryptography Pitfalls at LASCON 2016
jtdowney
0
240
Debugging TLS/SSL at DevOps Days Detroit 2016
jtdowney
1
330
Debugging TLS/SSL at DevOpsDays Boston
jtdowney
1
410
Other Decks in Programming
See All in Programming
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
330
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
130
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
620
Modernizing iOS Apps
seyfoyun
0
150
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
350
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
200
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
210
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
5.2k
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
200
Kawaiicon: Kubernetes, it's no longer cool, but let's secure it anyway!
barnbarn
0
110
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
Featured
See All Featured
Paper Plane
katiecoart
PRO
5
55k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
520
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
970
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.7k
How STYLIGHT went responsive
nonsquared
100
6.4k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
3k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.3k
Rails Girls Zürich Keynote
gr2m
96
14k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Docker and Python
trallard
47
4.3k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
530
Google's AI Overviews - The New Search
badams
0
1.7k
Transcript
From the beginning
Senior Software Developer Housing and Food Services
Bio: ¡ Started .NET in 2003 ¡ Began programming on C64 Contact: ¡ @jtdowney ¡
[email protected]
Image from XKCD About John Downey
Controller View Model
Image from stock.xchng From the beginning
Common Language Runtime (.NET CLR) ASP.NET Runtime (Sessions, Cookies,
Caching, Routing) Web Forms MVC Dynamic Data
Common Language Runtime (.NET CLR) ASP.NET Runtime (Sessions, Cookies,
Caching, Routing) Web Forms MVC Dynamic Data
Common Language Runtime (.NET CLR) ASP.NET Runtime (Sessions, Cookies,
Caching, Routing) Web Forms MVC Dynamic Data
None
VB6 • Large population of programmers • Data driven business
apps Win Forms • Can use Visual Basic .NET • Similar tooling and concepts Web Forms • Apply skills to the web
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/ wEPDwUKLTYyOTg4NzMzOQ9kFgJmD2QWAgIDD2QWBgIFD2QWAgIBDw8WAh4EVGV4dAURamRv d25leUBnbWFpbC5jb21kZAIJDw8WAh4GVXNlcklEBQU1MzgzNmRkAgsPZBYCAgEPPCsACQI ADxYGHg1OZXZlckV4cGFuZGVkZB4MU2VsZWN0ZWROb2RlZB4JTGFzdEluZGV4AkVkCBQrAA IFAzA6MBQrAAIWBB8ABQpBbGwgRXZlbnRzHghFeHBhbmRlZGcUKwACBQMwOjAUKwACFgYfA AUqQm9pbGVybWFrZXIgUmVnaW9uYWwgICBEdWUgRGF0ZSAgMy8xNS8yMDEwHghJbWFnZVVy
bAUZfi9pbWFnZXMvaWNvbl9mcmllbmRzLmdpZh8FZxQrAAUFDzA6MCwwOjEsMDoyLDA6MxQ rAAIWCB8ABRxKaW1teSBOaWNob2xzICAgMCAlIGNvbXBsZXRlHgdUb29sVGlwBQw1MTMtNT kzLTEyMjkeC05hdmlnYXRlVXJsBR1tYWlsdG86amltbXluaWNob2xzQHlhaG9vLmNvbR8FZ xQrABAFQDA6MCwwOjEsMDoyLDA6MywwOjQsMDo1LDA6NiwwOjcsMDo4LDA6OSwwOjEwLDA6 MTEsMDoxMiwwOjEzLDA6MTQUKwACFgYfAAUwNDUgIC0gIGh0dHA6Ly93d3cudGVjaG5va2F 0cy5vcmcvICAgMCAlIGNvbXBsZXRlHgVWYWx1ZQUaaHR0cDovL3d3dy50ZWNobm9rYXRzLm 9yZy8fBWdkFCsAAhYGHwAFMjIzNCAgLSAgaHR0cDovL3d3dy5jeWJlcmJsdWUyMzQuY29tI CAgMCAlIGNvbXBsZXRlHwkFG2h0dHA6Ly93d3cuY3liZXJibHVlMjM0LmNvbR8FZ2QUKwAC FgYfAAVFMjkyICAtICBodHRwOi8vcGFudGhlcnRlY2gud2VzdGVybi5rMTIuaW4udXMvaW5 kZXguaHRtICAgMCAlIGNvbXBsZXRlHwkFLmh0dHA6Ly9wYW50aGVydGVjaC53ZXN0ZXJuLm sxMi5pbi51cy9pbmRleC5odG0fBWdkFCsAAhYGHwAFNDQ2MSAgLSAgaHR0cDovL3d3dy5ib 2lsZXJpbnZhc2lvbi5vcmcgICAwICUgY29tcGxldGUfCQUdaHR0cDovL3d3dy5ib2lsZXJp bnZhc2lvbi5vcmcfBWdkFCsAAhYGHwAFNzEwMjQgIC0gIGh0dHA6Ly93d3cubWNrZW56aWV yb2JvdGljcy5vcmcgICAwICUgY29tcGxldGUfCQUfaHR0cDovL3d3dy5tY2tlbnppZXJvYm 90aWNzLm9yZx8FZ2QUKwACFgYfAAU6MTUwMSAgLSAgaHR0cDovLzIwMTAuaHVudGluZ3Rvb nJvYm90aWNzLm9yZyAgIDAgJSBjb21wbGV0ZR8JBSJodHRwOi8vMjAxMC5odW50aW5ndG9u cm9ib3RpY3Mub3JnHwVnZBQrAAIWBh8ABTExNTU1ICAtICBodHRwOi8vdGVhbTE1NTVwdWx zZS5vcmcvICAgMCAlIGNvbXBsZXRlHwkFGWh0dHA6Ly90ZWFtMTU1NXB1bHNlLm9yZy8fBW dkFCsAAhYGHwAFOjE2NDYgIC0gIEh0dHA6Ly93d3cucHJlY2lzaW9uZ3Vlc3N3b
Image from stock.xchng “the network is the computer” –John
Gage
Common Language Runtime (.NET CLR) ASP.NET Runtime (Sessions, Cookies,
Caching, Routing) Web Forms MVC Dynamic Data
Image from stock.xchng New kid at Microsoft
Open source Image from Flickr
Image from stock.xchng Upholstering a chair
None
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Image from stock.xchng Routing is easy
/User /Edit /5 Controller Action
ID Home Index http://example.edu/User/Edit/5 optional
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Action Logging Caching Security
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Home Index Account Login Logout
Widget Index Create Edit
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Kung-‐fu Image from Flickr
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Domain Model Evaluated Logic View
Model
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Image from stock.xchng A window into your model
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
None
Image from stock.xchng MVC is here to help
{ “Framework”: “ASP.NET MVC”,
“Awesome”: true, “BestFriends”: [ “JSON”, “jQuery” ] }
Image from stock.xchng Test early, test often
Is WebForms is dead?
Is WebForms is dead? Nope.
¡ Nerd Dinner -‐ http://nerddinner.com/ ¡ StackOverflow -‐ http://stackoverflow.com/
¡ Phil Haack -‐ http://haacked.com/ ¡ Scott Guthrie -‐ http://weblogs.asp.net/scottgu/ ¡ ASP.NET Website -‐ http://asp.net/mvc/ ¡ Professional ASP.NET MVC 1.0 from Wrox Resources
Questions