1 / 33

What’s new in ASP.NET MVC 3

What’s new in ASP.NET MVC 3. Building a NerdDinner / AppStore Application. Introducing NerdDinner.com. Introducing NerdDinner.com. nerddinner.codeplex.com Free PDF walkthrough (updated to 2.0) tinyurl.com/ aspnetmvc. Introducing NerdDinner.com. Introducing NerdDinner.com.

mendel
Download Presentation

What’s new in ASP.NET MVC 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. What’s new inASP.NET MVC 3 Building a NerdDinner/AppStore Application

  2. Introducing NerdDinner.com

  3. Introducing NerdDinner.com • nerddinner.codeplex.com • Free PDF walkthrough (updated to 2.0) • tinyurl.com/aspnetmvc

  4. Introducing NerdDinner.com

  5. Introducing NerdDinner.com

  6. What’s new in ASP.NET MVC 3 Razor View Engine Multiple View Engine Support Validation Improvements Dynamic ViewBag Global Filters New ActionResults Project Dialog Improvements VBHTML Support Task-based Helpers Improved Dependency Injection Porting MVC Script Libraries to jQuery Granular ValidateInput Add View Dialog Improvements Project Dialog Extensibility Improvements Improved Caching Support JSON Binding Support

  7. What’s new in ASP.NET MVC 3 Razor View Engine Multiple View Engine Support Validation Improvements Dynamic ViewBag Global Filters New ActionResults Project Dialog Improvements VBHTML Support Task-based Helpers Improved Dependency Injection Porting MVC Script Libraries to jQuery Granular ValidateInput Add View Dialog Improvements Project Dialog Extensibility Improvements Improved Caching Support JSON Binding Support

  8. Upgrading ASP.NET MVC 3 Application Upgrader tinyurl.com/upgrademvc3

  9. Multiple View Engine Support

  10. Multiple View Engine Support protected void Application_Start() { ViewEngines.Engines.Add(newSparkViewFactory()); … }

  11. Razor • Clean & Concise • Based on Existing Languages • Intellisense • Code Colorization • Unit Testing Support

  12. Syntax Comparison <ul> <% for (int i = 0; i < 10; i++) {%> <li><%=i %></li> <%} %> </ul> Web Forms 6 transitions Razor 2 transitions <ul> @for (int i = 0; i < 10; i++) { <li>@i</li> } </ul>

  13. Layouts Layout View <html> <head> <title>Title<title> </head> <body> @RenderSection("Menu") @RenderBody() </body> </html> @{ Layout="~/Views/Shared/_Layout.cshtml"; } @section Menu { <ul id="pageMenu"> <li>Item 1</li> <li>Item 2</li> </ul> }

  14. Web Forms to Razor Open Source Razor Converter github.com/telerik/razor-converter

  15. DEMO Views using Razor

  16. Filters • Declarative • Cross-cutting concerns • Custom filters • Supported since version 1

  17. Types of Filters • IActionFilter • IResultFilter • IExceptionFilter • IAuthorizationFilter

  18. Filters Example [HandleError] public class BlogController : Controller { [HandleLogging] public ActionResult Index() { return View(); } }

  19. Global Filters • No longer need attributes • Applies to all actions on all controllers

  20. Global Filters protected void Application_Start() { GlobalFilters.Filters.Add(new MyActionFilterAttribute()); … }

  21. DEMO Logging Errors with Global Filters

  22. Dynamic ViewBag • Accessible via properties • Properties map to ViewData entries • Late-bound

  23. Dynamic ViewBag <head> <title>@ViewBag.Title<title> </head>

  24. DEMO Converting to Dynamic ViewBag

  25. New Action Results • HttpNotFoundResult • RedirectResult • HttpStatusCodeResult

  26. DEMO Using New Action Results

  27. JavaScript and AJAX • JSON Binding • jQuery Validation • Unobstrusive JavaScript • Separation of Presentation and Content • No errors if AJAX isn’t supported • RemoteAttribute

  28. Unobtrusive JavaScript web.config <configuration> <appSettings> <add key="UnobtrusiveJavaScriptEnabled" value="true"/> </appSettings> </configuration> code HtmlHelper.UnobtrusiveJavaScriptEnabled = true;

  29. Unobtrusive JavaScript web.config <configuration> <appSettings> <add key="UnobtrusiveJavaScriptEnabled" value="true"/> </appSettings> </configuration> code HtmlHelper.UnobtrusiveJavaScriptEnabled = true;

  30. Client Validation web.config <configuration> <appSettings> <add key=“ClientValidationEnabled" value="true"/> </appSettings> </configuration> code HtmlHelper.ClientValidationEnabled = true;

  31. DEMO Remote Validation

  32. Resources Software Application Developers Infrastructure Professionals http://technet.microsoft.com/ http://msdn.microsoft.com/ technetindia msdnindia @technetindia @msdnindia

  33. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related