![Page 2: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/2.jpg)
What’s new in MVC 2?In 10 minutes or less
![Page 3: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/3.jpg)
Targeting
Out of band installer
.NET 3.5 SP1
Ships in the box
.NET 3.5 SP1.NET 4
Not part of the .NET Framework
![Page 4: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/4.jpg)
Strongly-Typed UI Helpers
• Overrides for existing UI helpers
• Use expressions based on models
Html.TextBox("FirstName")Html.TextBoxFor(m => m.FirstName)
![Page 5: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/5.jpg)
Validation
• Automatic validation during model binding
• Extensible validation & metadata API
• Server side: DataAnnotations attributes
• Client side: ASP.NET Ajax 4
• 3rd Party: Castle Validator, EntLib, etc.
![Page 6: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/6.jpg)
Dynamic Scaffolding
+
=
![Page 7: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/7.jpg)
Dynamic Scaffolding• Automatic display and editing
• HTML helpers
• Customizable by controller, area, & site
• Built-in templates:Text (single & multi-line), password, decimal, boolean (2- and 3-state), hidden, HTML, e-mail address, URL, collection, complex object
![Page 8: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/8.jpg)
Areas
• Organize a large application into multiple logical areas
• Directory structure that mimics project conventions (Controllers, Models, Views)
• Automatic route registration
![Page 9: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/9.jpg)
RenderAction
• Alternative to RenderPartial
• Executes independent action
• [ChildActionOnly]
• Comparable to user controls in WebForms
• Some action filter limitations
![Page 10: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/10.jpg)
AsyncController• Helps build scalable sites
• Non-blocking calls to external services or inherently parallelizable algorithms
• Async Event Pattern:
ActionAsync ActionCompleted
![Page 11: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/11.jpg)
Miscellany• ASP.NET Ajax 4, jQuery 1.4.1,
jQuery Validation 1.6
• Empty project template
• Code snippets
• ASP.NET 4 support <%: %> auto-encoding syntax ViewPage<dynamic> for untyped views
![Page 12: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/12.jpg)
demo
PUT and DELETE& Resource Routing
![Page 13: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/13.jpg)
demo
CustomizingStatic Scaffolding
![Page 14: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/14.jpg)
demo
CustomizingDynamic Scaffolding
![Page 15: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/15.jpg)
demo
Custom Server- andClient-Side Validation
![Page 16: Advanced ASP.NET MVC 2 - Brad Wilson · .NET 3.5 SP1 Ships in the box.NET 3.5 SP1.NET 4 Not part of the .NET Framework. Strongly-Typed UI Helpers ... • ASP.NET Ajax 4, jQuery 1.4.1,](https://reader033.vdocument.in/reader033/viewer/2022042408/5f23729a90e6411b495d1fc0/html5/thumbnails/16.jpg)
demo
Async Controller(Parallel Twitter Search)