Get started with ASP.NET Core MVC
This tutorial teaches ASP.NET Core MVC web development with controllers and views. If you're new to ASP.NET Core web development, consider the Razor Pages version of this tutorial, which provides an easier starting point.
This tutorial teaches the basics of building an ASP.NET Core MVC web app.
The app manages a database of movie titles. You learn how to:
- Create a web app.
- Add and scaffold a model.
- Work with a database.
- Add search and validation.
At the end, you have an app that can manage and display movie data.
Create a web app
From Visual Studio, select File > New > Project.
Complete the New Project dialog:
- In the left pane, select .NET Core
- In the center pane, select ASP.NET Core Web Application (.NET Core)
- Name the project "MvcMovie" (It's important to name the project "MvcMovie" so when you copy code, the namespace will match.)
- select OK
Complete the New ASP.NET Core Web Application (.NET Core) - MvcMovie dialog:
- In the version selector drop-down box select ASP.NET Core 2.2
- Select Web Application (Model-View-Controller)
- select OK.
Visual Studio used a default template for the MVC project you just created. You have a working app right now by entering a project name and selecting a few options. This is a basic starter project, and it's a good place to start.
Select Ctrl-F5 to run the app in non-debug mode.
- Visual Studio starts IIS Express and runs your app. Notice that the address bar shows
localhost:port#and not something like
example.com. That's because
localhostis the standard hostname for your local computer. When Visual Studio creates a web project, a random port is used for the web server. In the image above, the port number is 5000. The URL in the browser shows
localhost:5000. When you run the app, you'll see a different port number.
- Launching the app with Ctrl+F5 (non-debug mode) allows you to make code changes, save the file, refresh the browser, and see the code changes. Many developers prefer to use non-debug mode to quickly launch the app and view changes.
- You can launch the app in debug or non-debug mode from the Debug menu item:
- You can debug the app by selecting the IIS Express button
Select Accept to consent to tracking. This app doesn't track personal information. The template generated code includes assets to help meet General Data Protection Regulation (GDPR).
The following image shows the app after accepting tracking:
Visual Studio help
In the next part of this tutorial, you learn about MVC and start writing some code.
We'd love to hear your thoughts. Choose the type you'd like to provide:
Our feedback system is built on GitHub Issues. Read more on our blog.