ASP.NET MVC Tutorialprovides basic and advanced concepts of C# for beginners and professionals.

Started with ASP.NET MVC

Back to: ASP.NET MVC Tutorial

ASP.NET MVC is a web application framework developed by Microsoft that implements the Model-View-Controller (MVC) design pattern. It provides a clean separation of concerns (SoC) in web applications, making it easier to manage large projects. Here’s a guide to help you get started with ASP.NET MVC:

Prerequisites:

  • Visual Studio: Install the latest version of Visual Studio.
  • .NET SDK: You need to have the .NET SDK installed. You can check the version by running dotnet --version in the command line.

Step 1: Create a New ASP.NET MVC Project

  1. Open Visual Studio and select Create a new project.
  2. Select ASP.NET Web Application (.NET Framework) or ASP.NET Core Web Application depending on whether you're using .NET Framework or .NET Core/5+.
  3. Name the project and click Create.
  4. In the template selection screen, choose MVC as the project template.
  5. Click Create.

Step 2: Project Structure

Once the project is created, you’ll see the following structure:

  • Controllers: Contains controller classes responsible for handling user input and returning responses (e.g., HomeController.cs).
  • Views: Holds HTML templates (Razor files) that the controllers return to the client (e.g., .cshtml files).
  • Models: Represents the data and business logic used by the application.

Step 3: Understanding the MVC Pattern

  • Model: Represents the application's data. It’s used for retrieving and storing data in a database.
  • View: Displays the user interface and presents data to the user.
  • Controller: Manages user input and interactions, handling incoming requests, and preparing a response.

Step 4: Add a Controller

  1. Right-click the Controllers folder, select Add, then Controller.
  2. Choose MVC Controller - Empty, name it HomeController, and click Add.
  3. Modify HomeController.cs to return a view:
    public class HomeController : Controller
    {
        public ActionResult Index()
       {
            return View();
        }
    }

Step 5: Add a View

  1. Right-click the Index action in the HomeController and select Add View.
  2. Name the view Index.cshtml and click Add. Visual Studio creates a corresponding Razor View file under the Views/Home folder.
  3. Edit the Index.cshtml file to display some text:
    Welcome to ASP.NET MVC!

Step 6: Run the Application

  • Press Ctrl+F5 to run the application. It will open a browser, and you should see the text "Welcome to ASP.NET MVC!".

Step 7: Routing

ASP.NET MVC uses routing to map URLs to actions in the controller. You can configure routes in the RouteConfig.cs file located in the App_Start folder (for .NET Framework) or in Startup.cs (for ASP.NET Core). Example of the default route:

routes.MapRoute(
  name: "Default",
  url: "{controller}/{action}/{id}",
  defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
 );

This means that if the user navigates to /, it will be routed to the HomeController and call the Index action.

Step 8: Using Models

To use models:

  1. Add a class in the Models folder. For example, create a Product class:

    public class Product
    {
       public int Id { get; set; }
       public string Name { get; set; }
       public decimal Price { get; set; }
     }
  2. In your controller, you can create an instance of the model and pass it to the view:

    public ActionResult Details()
    {
       var product = new Product { Id = 1, Name = "Laptop", Price = 999.99M };
       return View(product);
    }
  3. Create a view for the Details action and use Razor syntax to display the model data:

    Product Details
    Product Name: @Model.Name
    Price: @Model.Price

Step 9: Conclusion

You’ve successfully created a basic ASP.NET MVC application. You now know how to:

  • Set up an MVC project.
  • Create controllers and views.
  • Understand routing.
  • Work with models.

Next Steps

  • Learn about Entity Framework for data access.
  • Explore validation and model binding in ASP.NET MVC.
  • Dive deeper into Razor syntax and partial views.
Scroll to Top