Difference between ASP.NET MVC 1 and 3

I made several websites with MVC 1 and now I'm ready to skip the version 2 to go ahead and play with the version 3 directly.

Without giving to much details, can you provide me with the biggest key concepts that the version 3 brings to the table versus version 1 (version 2 included)?

I will research on those topics afterwards.

For example I heard about "areas" in v2. I'm looking for those big things you programmers think it's worth to know.

Thanks

Upvotes: 5

Views: 6048

Answers (2)

marcind
marcind

Reputation: 53191

The documents What's new in MVC 2 and ASP.NET MVC 3 Release Notes provide a good overview.

MVC 2:

  • Templated Helpers
  • Areas
  • Client-side Validation
  • Child action rendering
  • Data Annotations support
  • More model binding
  • Asynchronous controllers
  • Bunch of other stuff

MVC 3:

  • Razor view engine
  • Unobtrusive client-side validation and jQuery support
  • Dependency Injection support
  • More Validation
  • JSON model binding
  • Granular request validation
  • Requires .NET 4
  • Bunch of other stuff

In addition there are all the blog posts about MVC by Scott Guthrie, Phil Haack, Brad Wilson, and a bunch of others you can search for with very little effort.

Upvotes: 10

Andy Gaskell
Andy Gaskell

Reputation: 31761

The Razor View Engine is so much nicer than Web Forms. One thing to note about it is that it automatically encodes html - this is much safer but you'll need to call Raw in your helpers to return unencoded html.

I'm also digging ViewBag so far, it's basically a dynamic, nicer ViewData and from what I can tell, relieves the need for ViewModels (although still not as nice as Rails).

You might find something like this in an MVC 1 View

<%= ViewData["Title"] %>

With Razor in MVC 3 it'd look like this

@ViewBag.Title

Upvotes: 2

Related Questions