First of all we assume you have Visual Studio IDE to develop a new project in Asp.NET MVC, if you haven't downloaded it yet, you can download it from here

Visual Studio is IDE to develop application using .NET, it can be web application or desktop or even mobile application.


Model-View-Controller (MVC) is a pattern to separate an application into the following three main components:-

  • Model                          
  • View
  • Controller

The ASP.NET MVC framework is open-source, provides an alternative to the ASP.NET Web Forms pattern for creating web applications. The ASP.NET MVC Framework is a lightweight, highly testable presentation framework that (as with Web Forms-based applications) is integrated with existing ASP.NET features, such as master pages and membership-based authentications. The MVC framework is defined in the System.Web.Mvc assembly. It provides full control over HTML, JavaScript and CSS. It's the better as well as a recommended approach for large-scale applications where various teams are working together.


Advantages of MVC
1. Full control of HTML/CSS/Javascript.
2. Better Support for test-driven developerment (TDD).
3. Provides clean separation of concerns(SoC).
4. Good control over URL's to proivde SEO friendly url.
5. No ViewState and PostBack events
Creating basic application :-

Step-1:- Start by opening Visual Studio and selecting New Project from the Start page. Or you can use File > New Project from any other view.


Step-2 :- Navigate the tree on the left to the Visual C# tab and select Web. Then select ASP.NET Web Application. At the bottom you can enter the name of your project and the location in which to store the project. We’re going to name the application Test and leave the default project location. Click OK.


Step-3 :- After clicking Ok button you will new screen , select "MVC" template and then select "Web applications" from preview template, "Empty" template is for advanced level programmers, so for now we will go with "Web application" template, and click OK button.


Step-4:- You will see MVC project has generated few files, which we are default proejct files.

Ready page

Now you can  click "Ctrl+f5" in your project to build your project and run it in web-browser.

You will see your project running in web-browser with default pages like home page, about etc, you can click on tose click and visit the default template pages.

Few things to check :-

1. In "Solution explorer" of Visul studio, Go to "Controllers" folder, click on Controller named as  "HomeController" and check it's code.
2. You may notice that controller class have already few methods like this

 public class HomeController : Controller
        public ActionResult Index()
            return View();

        public ActionResult About()
            ViewBag.Message = "Your application description page.";

            return View();

        public ActionResult Contact()
            ViewBag.Message = "Your contact page.";

            return View();

3. These are the default template methods, when "Index" is called, it passes the "Index.cshtml" View , from "Views->Home" folder of the solution.
4. You may find many other Action methods in "AccountsController" and "ManageController".

Extra Tip:- You may wonder, why "HomeController", "Index" action was called first when we run the project, it is due to "RouteConfig.cs", you can find it in "App_Start" folder of your web application. You will notice that "Default" route is set to go for "HomeController" and "Index" action.
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
We can change it as per our needs