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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
250
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
370
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
360
setup-vp GitLab対応の裏側
naokihaba
0
140
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
500
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
140
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
170
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
410
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
110
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
460
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
440
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.3k
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
The Cult of Friendly URLs
andyhume
79
7k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Side Projects
sachag
456
43k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
450
For a Future-Friendly Web
brad_frost
183
10k
Raft: Consensus for Rubyists
vanstee
142
7.7k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.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