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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
Goコンパイラを作ってGoをもっと理解する / Build a Go compiler to better understand Go
ikura_hamu
0
120
SODA - FACT BOOK(EN)
sodainc
1
200
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
180
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
400
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
8.5k
Inertia Rails: The One-Person Framework with React & Friends
skryukov
0
380
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
870
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.4k
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
310
複数ドメインを一つのアプリに統合するFlutterの設計と運用_FlutterKaigi2026登壇資料(須永高弘)
takahirosunaga
0
140
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
950
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
520
Building AI with AI
inesmontani
PRO
1
1.4k
The Curse of the Amulet
leimatthew05
3
16k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
650
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Embracing the Ebb and Flow
colly
88
5.2k
Six Lessons from altMBA
skipperchong
29
4.6k
KATA
mclloyd
PRO
35
16k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3.1k
Bash Introduction
62gerente
615
220k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
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