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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
John Downey
September 26, 2011
Programming
330
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
210
Cryptography Pitfalls at THOTCON 0x8
jtdowney
0
230
Cryptography Pitfalls at ConFoo Montreal 2017
jtdowney
1
390
Cryptography Pitfalls at BSidesPhilly 2016
jtdowney
0
180
Cryptography Pitfalls at LASCON 2016
jtdowney
0
230
Debugging TLS/SSL at DevOps Days Detroit 2016
jtdowney
1
320
Debugging TLS/SSL at DevOpsDays Boston
jtdowney
1
400
Other Decks in Programming
See All in Programming
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
2.6k
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
18
19k
スマート反転とウェブアクセシビリティ
camiha
0
220
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
410
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
330
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
570
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
220
Are APIs Still Relevant in the AI Era?
soyuka
0
350
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
290
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
970
setup-vp GitLab対応の裏側
naokihaba
0
140
Verilogで学ぶCPU自作入門.pdf
uyuki234
8
3.8k
Featured
See All Featured
BBQ
matthewcrist
89
10k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
Facilitating Awesome Meetings
lara
57
7.2k
Crafting Experiences
bethany
1
360
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Writing Fast Ruby
sferik
630
63k
Producing Creativity
orderedlist
PRO
348
41k
A Soul's Torment
seathinner
8
3.7k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
270
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
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