19
Advanced ASP.NET MVC3

Advanced MVC3

Embed Size (px)

DESCRIPTION

In this talk we will be taking an in depth look at ASP.NET MVC3. Many of the new features in the version 3 release will be covered, as well as new features provided by the recent MVC3 tools update. We will take a detailed look at the powerful new Razor view engine, examining it’s syntax and looking at how it is different from the standard aspx view engine. In addition, we’ll examine at a few open source frameworks that will speed your asp.net mvc development time and provide functionality such as scaffolding, logging, diagnostics and advanced mvc grids. Along the way we’ll cover some best practices for developing MVC3 web apps and I’ll show you some of the extensibility features of the framework.

Citation preview

Page 1: Advanced MVC3

Advanced ASP.NET MVC3

Page 2: Advanced MVC3

*Housekeeping

*Stuttering is a communication disorder involving disruptions, or “disfluencies,” in a person’s speech.

*Across all cultures, roughly 1% of people currently has a stuttering disorder.

*http://westutter.org/

Page 3: Advanced MVC3

Who am I?

Hattan ShobokshiSenior Software Engineer

[email protected]

http://speakerrate.com/hattan

Page 4: Advanced MVC3

Goals for this talk

•Brief Overview of new features

• Introduce MVC3 & MVC3 Tools Update

•MVC3 DEMO

•Scaffolding

•Logging

•Glimpse

•Telerik MVC Grid

•Navigation Demo

•QA

Page 5: Advanced MVC3

MVC3? MVC3 Tools Update?

MVC3 Released January 13th 2011

*Update to the MVC runtime

* Introduction of many new features

*NuGet

MVC3 Tools update released April 12th 2011

*Update to Visual Studio Tooling

*Updates included libraries

*Adds new libraries

*Does NOT change the MVC3 dll.

Page 6: Advanced MVC3

MVC3

New Features in ASP.NET MVC3

*New Razor View Engine* Dynamic View Models

* Client-Side Validation Enabled by Default

* JSON Model Binding Support

* Tooling Improvements (Project & View Dialog)

* Global Filters

*Model Validation Improvements.

* Request Validation Granularity

* Enhanced Dependency Injection Support

* Unobtrusive JQuery Ajax/Validation

* New ASP.NET Web Pages helper methods

* HTML Helpers Support HTML 5 Style attributes

* New ActionResult Types

Page 7: Advanced MVC3

Skills Transfer

Page 8: Advanced MVC3

MVC3 Tools Update

New Features in Tools Update *Does NOT upgrade MVC3 runtime!

*Intranet Project Template

*HTML 5 Semantic Markup

*Full Controller/View Scaffolding

*Jquery and JS Libraries are Nuget Packages

*Modernizer

*EF Code First pre-installed

Page 9: Advanced MVC3

Razor

*A new view Engine for ASP.NET MVC

*Clean and Concise Syntax. Fluid Workflow.

*Is NOT a new Language. Use existing C# and VB skills

*Unit Testable WITHOUT a Web Server or ASP.NET Runtime

*All Existing HTML Helpers work. Even Third Party helpers

Page 10: Advanced MVC3

Razor Syntax

Code blocks start with @ symbol. No end symbol required ( %>)

Web Forms Engine:

<h3> <%: Model.Name %> </h3>

Razor:

<h3> @Model.Name </h3>

http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax

Page 11: Advanced MVC3

Razor Syntax

Page 12: Advanced MVC3

DEMO

Page 13: Advanced MVC3

MVCScaffolding Demo

Page 14: Advanced MVC3

Logging!

*ELMAHError Logging Modules and Handlers

*Logging of nearly all unhandled exceptions.

*Web page to remotely view the entire log of recoded exception

*Email Notification

Page 15: Advanced MVC3

Glimpse

GetGlimpse.com

Page 16: Advanced MVC3

Telerik Grid Control

*http://demos.telerik.com/aspnet-mvc/

* Grid Control

*Out of the box support for Sorting, Filtering

*Out of the box paging support

*Out of the box ajax support

*Very little javascript you have to write!

Page 17: Advanced MVC3

Navigation Demo

Page 18: Advanced MVC3

What did we just talk about?

•Brief Overview of new features

• Introduce MVC3 & MVC3 Tools Update

•MVC3 DEMO

• Scaffolding

• Logging

•Glimpse

• Telerik MVC Grid

•Navigation Demo

•QA

Page 19: Advanced MVC3

Thank you!