ASP.NET MVC 1.0

mvcsource[1] Two weeks ago at MIX we released ASP.NET MVC 1.0.  ASP.NET MVC is a free, fully supported, Microsoft product that enables developers to easily build web applications using a model-view-controller pattern.  ASP.NET MVC provides a “closer to the metal” web programming option for ASP.NET.  It enables full control over HTML markup and URL structure, and facilitates unit testing and a test driven development workflow.

Releasing the ASP.NET MVC source code under MS-PL

I’m excited today to announce that we are also releasing the ASP.NET MVC source code under the Microsoft Public License (MS-PL).  MS-PL is an OSI-approved open source license.  The MS-PL contains no platform restrictions and provides broad rights to modify and redistribute the source code.  You can read the text of the MS-PL at: http://www.opensource.org/licenses/ms-pl.html

Learning more about ASP.NET MVC

To learn more about ASP.NET MVC, you can read my free ASP.NET MVC PDF tutorial that covers building an end-to-end application (starting literally with File->New Project).

There were a number of great ASP.NET MVC talks at MIX this year.  Below are links to several of them:

There are also several great ASP.NET MVC tutorials at http://www.asp.net/mvc.  You can also read the ASP.NET MVC MSDN Documentation.

Download ASP.NET MVC

Click here to download and install ASP.NET MVC 1.0.  You can also install it using the new Microsoft Web Platform Installer V2 – which provides an integrated setup experience for the entire Microsoft web stack.

The ASP.NET MVC 1.0 source code is now available.  Scroll down to the bottom of the ASP.NET MVC download page and you’ll find links to both the ASP.NET MVC 1.0 integrated MSI setup, as well as a .zip file that contains the ASP.NET MVC source code.  The ASP.NET MVC source code includes a VS 2008 project file that enables you to build it.

Hope this helps,

Scott

Published Wednesday, April 1, 2009 6:53 PM by ScottGu

Comments

# re: ASP.NET MVC 1.0

Wednesday, April 1, 2009 9:57 PM by Al Nyveldt

Wow.  Excellent move.  I like the direction things are going.  Thanks Scott and team.

# re: ASP.NET MVC 1.0

Wednesday, April 1, 2009 10:05 PM by Dimitris K.

Great news, thanks Scott!

# re: ASP.NET MVC 1.0

Wednesday, April 1, 2009 10:05 PM by adanacp

Excellent! Going to download it now.  Thanks Scott!

# re: ASP.NET MVC 1.0

Wednesday, April 1, 2009 10:08 PM by Jim Holmes

Props to you folks at MS for pushing this out open source. There have been some amazing changes for the better at MS over the last few years. There's still plenty of change that needs to happen, but some pretty stunning steps have been made.

Excellent news!

# re: ASP.NET MVC 1.0

Wednesday, April 1, 2009 10:09 PM by Maxim Rouiller

This is great!! Congratulation Microsoft!

# re: ASP.NET MVC 1.0

Wednesday, April 1, 2009 10:42 PM by Eric Hexter

wow. I did not see that one coming! That is game changing news!

# re: ASP.NET MVC 1.0

Wednesday, April 1, 2009 10:50 PM by Eric Swann

Love the MVC Scott.  So glad MS jumped in with this.  IMO a huge move towards straight-forward and testable web apps.

# re: ASP.NET MVC 1.0

Wednesday, April 1, 2009 11:44 PM by skiltz

MVC ROCKS!

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 12:05 AM by Nick Katsivelos

great news that keeps getting better - thanks scott and team

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 12:12 AM by Minhajuddin

Things just keep getting better and better with ASP.NET MVC. Awesome !

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 12:26 AM by John

Will you be accepting external contributions?  An OSI license is one thing, but accepting contributions is another.

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 12:55 AM by vik20000in

nice to see u back blogging. Hope to hear more on silverlight stuff...

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 1:28 AM by Jack

Free and fully supported! We like that! Hope Microsoft will give more products like this!

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 2:43 AM by Mike

Great, thank you and your team for sharing your work!

Is there anyway we can get the source for System.Web.Routing? Because I really need to get a better understanding of route parsing and matching, and Reflector is not enough, I need to step through the code.

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 2:59 AM by Peter

If every website would be written using MVC, I wouldn't have to go through hell on every project! Started my own big MVC website a week ago, and I must say, this is above brilliance! Now that it's open source, it will get even better! Keep up the excellent work!

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 3:48 AM by shiju

Great news. Thanks Scott.

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 4:05 AM by AndreiR23

This is excellent news! Congratulations to all who made this possible :)

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 4:34 AM by Luigi Zambetti

Hi,

someone says that:

ASP.NET 3.5 > ASP.NET MVC

(for several different reasons).

What do you think about?

Thanks a lot.

Luigi

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 5:27 AM by shailatlas

May be this sounds funny. But if you make source code for ASP.Net also under MS-PL, it will be 10 times more stronger and flexible. I know what I am talking, but may be when the real user like me will go deep and see whats happening behind the scenes, we can better comment. And sometime its real user who invent the real use of a technology.

Shail

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 5:46 AM by pierslawson

Nice move to Open Source. My RESTful web service code built on top of the ASP.Net MVC is also free to all ;-) www.shouldersofgiants.co.uk/Blog

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 6:34 AM by Alastair Smith

Scott, this is fantastic news!  The EULA in the installer seems incompatible with this milestone, however:

"2. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not

 * work around any technical limitations in the software;

 * reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;

 * publish the software for others to copy;

 * rent, lease or lend the software; or

 * __transfer the software or this agreement to any third party.__"

We rely on ASP.NET MVC for a couple of products that we sell to customers (for them to install locally, not in a SaaS-type environment).  That EULA clause would appear to prevent us from re-distributing ASP.NET MVC in any form (even the pre-packaged installer).  Please could you clarify?

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 6:48 AM by Will

@shailatlas - if you want to see "what's behind the scenes" in ASP.NET you can already download the source code.  It's not MS-PL - you can't do anything other than look at it, but it can still bevery useful.

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 7:58 AM by Mehmet Ali

Microsoft lost the battle again open source :)

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 11:33 AM by herry

Scott, you made Microsoft a better tool to work with.

Really welcome the big move and keep up the good work.

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 11:37 AM by Richard Brown

Yay! Production code; now I can convince my boss to let me deploy an MVC app! :)  Kudos to the whole team, much looking forward to see how things progress from this point.

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 12:10 PM by RunXc

I have always loved C# and the ASP.NET platform and this just makes it rock that much more. The only thing that java ever offered was the ability to deploy on Mac and Linux boxes(though I have never needed to :)) and now with more of the .Net being Open Sourced I have no longer been thinking about perhaps picking up java.

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 12:19 PM by Bradley Sage

Amazing, very amazing, I'm extremely excited for the port. Thanks.

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 12:47 PM by silvernight

Some people say using MVC is more effective , shorten dev times etc...

But in my optional ,if build a complex web application, i still going for webforms with rich control.

At now, i think ASP.NET MVC can be enhance.

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 4:13 PM by Anthony Tarlano

Now if we could just get Powershell on Mono it would be game over..

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 4:21 PM by ummm, no

As long as this is tied to Visual Studio, is it __really__ open source, or just a marketing ploy...

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 4:25 PM by Sam Adams

Somewhere in hell a snowflake cheered ... looked around some more ... and cheered some more ;)

Good *sensible* move guys, sure to thaw the cold shoulder from the Open Source crowd.

# re: ASP.NET MVC 1.0

Thursday, April 2, 2009 6:04 PM by Jim Clark

Scott

Can you advise how I get an mvc site working "extensionless" on an IIS 5.1 deployment. I can get the default page loading but no further.

Thanks

# re: ASP.NET MVC 1.0

Friday, April 3, 2009 12:08 AM by David Cameron

Nice to see some positive moves from MS (jquery and this, oh and a better IE). Thanks Scott & co.

# re: ASP.NET MVC 1.0

Friday, April 3, 2009 3:34 AM by halplus

Sorry folks I'll stick with java using some apache licenses. We all know where .net is going despite being good technologically

# re: ASP.NET MVC 1.0

Friday, April 3, 2009 6:56 AM by Sam

How do we know Microsoft won't sue about some patent?  They sued Tom Tom!

# re: ASP.NET MVC 1.0

Friday, April 3, 2009 9:54 AM by Diego Frata

Excellent news. Just one question:

Do you guys plan to accept contributions from the community? This could be a great deal for users and for Microsoft as there are so many talented people that could improve the technology in ways that meets Microsoft's vision and road map.

# re: ASP.NET MVC 1.0

Friday, April 3, 2009 10:20 AM by Cody Skidmore

@Mehmet Ali,

I've talked to Scott and others on his team.  From my perspective and for some time now, there has been a cultural shift at Microsoft.  This announcement is a further sign of that shift.  It is refreshing, and very welcome.  I'm stoked about it.

# re: ASP.NET MVC 1.0

Friday, April 3, 2009 11:19 AM by David Daniel

I appreciate the license Scott.  I am a .net developer and love the asp.net mvc framework and am using it for my government projects because they can afford to use all Microsofts products legally.  At home though I run linux and mono and feel like I spend so much time learning different sets of technology to stay open and free.  Its nice that I can use some of what I learn at work at home now.

# re: ASP.NET MVC 1.0

Friday, April 3, 2009 2:43 PM by Rajan

Hi Scott,

I have installed this, but still this version doesn't have the implementation from MVCToolkit and I am not able to compile the MVCToolkit project also. Development done using MVCToolkit are not supported in ASP.NET 3.5 SP1. Also i have seen another assembly called MVC Futures in codeplex,i.e Microsoft.Web.Mvc. Can you please let us know whether we can wait for next version of MVCToolkit or whether it will be merged with Microsoft.Web.Mvc or System.Web.Mvc or we need to remove the code done with MVCToolkit? Also the differences between MVCFutures & ASP.NET MVC 1.0.

Thanks,

Rajan

# re: ASP.NET MVC 1.0

Friday, April 3, 2009 11:12 PM by NYWebTeam

excellent news. Pretty excited about this.

# re: ASP.NET MVC 1.0

Saturday, April 4, 2009 10:22 PM by صرقعة

Great news, thanks Scott!

# re: ASP.NET MVC 1.0

Monday, April 6, 2009 7:26 AM by Jason

Now that the MVC Framework has been released you need a name a for it. How about Rails.NET or Nails? Seriously though, this breathes much needed new life into the monstrosity that ASP.NET has become. My big complaint is the 'ORM'. It is 2009 and it is unacceptable to me that I am still forced to create database tables, FKs, and write queries. And yes, LINQ is a thinly veiled query with intellisense. Really. Why don't you look into stealing Django's ORM? I prefer it over ActiveRecord anyway and they have been getting it right for _years_. But, overall I give Microsoft a solid B for its foray into modern web frameworks.

# re: ASP.NET MVC 1.0

Monday, April 6, 2009 7:31 AM by hotels

Great news, thanks Scott!

# re: ASP.NET MVC 1.0

Monday, April 6, 2009 9:47 AM by Phan Minh Tai

Hi, Scott. I want to use Ajax Control (ex, Timer control) in ASP.NET MVC 1.0. Can you explain for me about it ?

# re: ASP.NET MVC 1.0

Monday, April 6, 2009 3:49 PM by redblind

This is great! I don't use a lot of .NET, but I hope the .NET community keeps moving in this friendly-knowledge-sharing direction.

# re: ASP.NET MVC 1.0

Monday, April 6, 2009 4:59 PM by Jonah

Good news. Would be nice to be able to browse the source via the web as opposed to having to download.

# re: ASP.NET MVC 1.0

Wednesday, April 8, 2009 2:33 AM by sandit27

This is great. The MIX always has some good announcements. MVC pattern for ASP.NET really helps a lot to design a cleans and structured framework for web application.

Thanks Scott and team for such wonderful release.

# re: ASP.NET MVC 1.0

Wednesday, April 8, 2009 3:42 AM by Annonymous

You are one serious asshole.. how do you know so much..?? :P

# re: ASP.NET MVC 1.0

Wednesday, April 8, 2009 8:09 AM by Deepak Chawla

Scott, I have a few questions.

1) I have been using MVP from Web client software factory for a while.

  I can see why MVC is better because of more defined concerns but if the models are going to change every year or so. Shoud we follow MVC or wait for a more robust pattern to follow.

I shall add I used to develop with Enterprise Library. I haven't heard about that for good time.

2) Any blog or post where I can find information about how we join the RIA services with MVC? More information can be found on Brad Adams or Nikhil Kotari's blogs. Or when I say create view in MVC it actually creates a XAML page or similar??

Regards,

Deepak Chawla

# re: ASP.NET MVC 1.0

Wednesday, April 8, 2009 12:42 PM by Sam Pearson

This is totally a non sequitur, but wouldn't it be cool if blog software separated PingBacks from actual comments?  That way I wouldn't have to sift...

# re: ASP.NET MVC 1.0

Wednesday, April 8, 2009 11:36 PM by GE-Unit

Loving it so far. Cheers

# re: ASP.NET MVC 1.0

Thursday, April 9, 2009 3:38 AM by Velska

I don't want to rain on anybody's parade, but...

How about these questions:

* Thursday, April 02, 2009 12:26 AM by John:

Will you be accepting external contributions?  An OSI license is one thing, but accepting contributions is another.

* Thursday, April 02, 2009 6:34 AM by Alastair Smith

Scott, this is fantastic news!  The EULA in the installer seems incompatible with this milestone, however

* Thursday, April 02, 2009 4:21 PM by ummm, no

As long as this is tied to Visual Studio, is it __really__ open source, or just a marketing ploy...

If the license says one thing, and the EULA says another, which one is implemented - the one that is embedded in the product itself, or the one you have to click "OK" to when you install the app?

This could just as well be Microsoft trying to do to the Web what they did to the desktop - once a large enough portion of sites and run MVC, kill support for the OS side, and what are people going to do?

Hence, I quote Vergil:

"Quidquid id est, timeo Danaos et dona ferentes. - Whatever it is, I fear Greeks bearing gifts."

# re: ASP.NET MVC 1.0

Thursday, April 9, 2009 5:06 PM by Steve S

My Bad. I used the wrong jquery version reference in the site.master in the script tag (1.26 rather than 1.32 in my project) correcting this does display the maps. Although now I'm fighting the map position on the form and am losing that fight.

# re: ASP.NET MVC 1.0

Monday, April 27, 2009 3:23 PM by kahanu

Nice job on everything MVC!  I've downloaded your NerdDinner app and I'm trying to use the PaginatedList helper method in a new MVC app.  And for the most part it's working ok, the biggest problem I'm having is for the paging.

In the Index(int? page) action, the "page" parameter is always null.  My code is identical to yours so I don't know where this is going wrong.  Can you tell me if this is more of a routing issue, with the "Previous" or "Next" paging links, or is it a view life cycle issue?

There's no error, just "page is null".

Thanks.

# re: ASP.NET MVC 1.0

Friday, May 1, 2009 1:31 AM by srinivas

hi scott

u r great.you and your team  working way is so good .

# re: ASP.NET MVC 1.0

Saturday, May 2, 2009 9:03 AM by vamsi_MVC

can any one of you ppl please send me the code to bind gridview in mvc 1.0.

i am getting the following error when i try to bind data to the gridview.

Compiler Error Message: CS1928: 'System.Web.Mvc.HtmlHelper' does not contain a definition for 'GridView' and the best extension method overload 'MvcGridView.Extensions.GridViewExtensions.GridView<T>(System.Web.Mvc.HtmlHelper, MvcGridView.Extensions.GridViewData<T>, System.Action<MvcGridView.Extensions.GridViewData<T>>, System.Action<T,string>, string, string, System.Action<T>, System.Action<MvcGridView.Extensions.GridViewData<T>>)' has some invalid arguments

# re: ASP.NET MVC 1.0

Tuesday, May 5, 2009 1:59 PM by Eric

Hi Scott,

Do you have any upcoming blogs on how MVC and Silverlight work with each other?

# re: ASP.NET MVC 1.0

Friday, May 8, 2009 9:03 AM by Jeanpoulin

Nice release! and long awaited if MS wanted to match products like Flex Builder.

IMPORTANT QUESTIONS: So far we have nice samples of monolithic Applications but how do you see MVC in the perspective a Cloud environment and Web Services components.  I'd like to see your opinion on how you would architect such applications biggest application that deal with many web services & biztalk components?

Thanks

Jeanpoulin58@hotmail.com    

# re: ASP.NET MVC 1.0

Wednesday, May 13, 2009 5:33 AM by sandit27

Hi Scott,

I had few queries related to ASP.NET MVC:

1. Microsoft is heading towards two major web platforms- the Silverlight/WPF and ASP.NET MVC. Now my question is which is the best suited platform for the web applications or rather, Can we combine Silverlight with MVC to come over a better application design?

2. The MVC pattern does not always suits all the application components. Can we use the MVP with MVC in a single web application? And how robust that design will be?

Thanks!

Sandeep

# re: ASP.NET MVC 1.0

Thursday, May 14, 2009 7:36 AM by marten_cz

Hi sandit27,

related to your first question. Silverlight is something different than ASP.NET MVC, it's the same as flash. You can use it in any HTML page, that means in MVC as well. From my point of view from these three is best to use MVC. Neither silverlight nor WPF will be indexed by robots and the returned code is much more bigger. MVC will be executed on server, Silverlight and WPF on client side (most of it). It can be nice to use WPF for BE application, where you knows that client will support them, and you want to create windows application as well.

# re: ASP.NET MVC 1.0

Friday, May 15, 2009 5:43 AM by sandit27

Thanks for the info marten_cz. Thus, MVC is best when creating high performance and business critical web applications. If we want to add some fancy items, then use Silverlight or WPF. Today, I was just going through some of the blog posts provided by Scott G. The MVC and URL Routing pattern is really awesome. Thanks to Scott and Team. I would wish to meet Scott G. personally, if I get a chance to visit Redmond. In my last visit I was unable to...  :)

# re: ASP.NET MVC 1.0

Friday, May 15, 2009 6:41 AM by sandit27

Here comes one more Q ...

Not all the websites provide sitemap (sitemap.xml) for the search engine crawlers. The search engines typically use the sitemap protocol for searching pages (or valid URL's) through the web site and then index the pages. Now my question is: Using URL Routing technique of ASP.NET MVC, will they (crawlers) be able to reach the entire content of the web site? Or will it become mandatory to provide a sitemap?

# re: ASP.NET MVC 1.0

Thursday, May 21, 2009 4:24 AM by Ahmed Abu Dagga

Great news, thanks for the link Scott :)

# re: ASP.NET MVC 1.0

Wednesday, May 27, 2009 10:50 AM by Rodney Eten

How will Microsoft be distributing ASP.NET MVC moving forward?  Will it be part of .NET 3.5 SP2?  or only .NET 4.0?  I have issues getting any new DLLs onto my production environment besides what Microsoft specifically distributes.  Thanks    reten with the @ gosolstice.com