An ASP.NET MVC3 Demo Application Introduction

Published on Sunday, September 2, 2012

About 36 hours ago, I just complained how painful as a Microsoft tech developer. Why I complained just because I have to maintain my Microsoft development skills on 4 different tech (they  are really different): Windows Forms, WPF, ASP.NET Web Forms,  ASP.NET MVC. I mean: I have to follow the new tech everyday, even every second!

For web, why MVC ? There are lots of reasons, but I just give 2 simple reasons here: I felt the difficulty to develop a website to fit mobile platform if using ASP.NET web forms; another reason is HTML5.

And, I have just finished a web application using Silverlight and ASP.NET Web Forms, I hope I can give a MVC version for it later.

OK, let us introduce an web application using MVC3.


This is a Job post and Job Seeker like website. The theme just use default Microsoft MVC theme, you can see the same theme on lots of Microsoft tech sites.

Microsoft provides many MVC tutorials, they are great. However, I don’t know why there is not a tutorial to talk about how to apply membership, how to handle role to apply related modules. On this point, I spent lots of time to search information, wrote lots of testing code, even wrote multiple MVC sites to compare, I think, for a real MVC website or web application, if Microsoft doesn’t clarify how to merge membership to related function, developers can say most of those tutorials are nothing, not enough helpful.

1: This MVC site use LINQ to SQL to implement membership and roles. I don’t know whether I should use Entity Framework (EF) or not,but for now, it is LINQ to SQL. But all other models use EF 4.1

2: Both Register and Logon work.


3: Visitor can view Job List and check job Detail information:

image image

4: Job Seeker can maintain his/her own information:


and, the most important is: upload resume.


5: Admin can do almost every thing:


There are still lots of things to do for this application, and, there are lots of MVC skills I should learn. Above content is just a starter.