Getting Started with ASP.NET MVC 5 using Visual Basic

This tutorial is the first in a series of a Visual Basic versions of the Introduction to ASP.NET MVC 5 tutorials published on the site. The original series, produced by Scott Guthrie (twitter @scottgu ), Scott Hanselman (twitter: @shanselman ), and Rick Anderson ( @RickAndMSFT ) was written using the C# language. My versions keep as close to the originals as possible, changing only the coding language. The narrative text is largely unchanged from the original and is used with permission from Microsoft.

This tutorial series will teach you the basics of building an ASP.NET MVC 5 Web application using Visual Studio 2013 and Visual Basic.  A Visual Studio Express For Web project with VB source code is available to accompany this series which you can download.

The tutorial series comprises 11 sections in total. They cover the basics of web development using the ASP.NET MVC framework and the Entity Framework for data access. They are intended to be followed sequentially as each section builds on the knowledge imparted in the previous sections. The navigation path through the series is as follows:

  1. Getting Started
  2. Adding a Controller
  3. Adding a View
  4. Adding a Model
  5. Creating a Connection String and Working with SQL Server LocalDB
  6. Accessing Your Model's Data from a Controller
  7. Examining the Edit Methods and Edit View
  8. Adding Search
  9. Adding a New Field
  10. Adding Validation
  11. Examining the Details and Delete Methods

1. Getting Started

Start by installing and running Visual Studio Express 2013 for Web or Visual Studio 2013.

Visual Studio is an IDE, or integrated development environment. Just like you use Microsoft Word to write documents, you'll use an IDE to create applications. In Visual Studio there's a toolbar along the top showing various options available to you. There's also a menu that provides another way to perform tasks in the IDE. (For example, instead of selecting New Project from the Start page, you can use the menu and select File > New Project.)

Beginning MVC

Creating Your First Application

Click New Project, then select Visual C# on the left, then Web and then select ASP.NET Web Application. Name your project "MvcMovie" and then click OK.

Beginning MVC

In the New ASP.NET Project dialog, click MVC and then click OK.

Beginning MVC

Visual Studio uses a default template for the ASP.NET MVC project you just created, so you have a working application right now without doing anything! This is a simple "Hello World!" project, and it's a good place to start your application.

Beginning MVC

Click F5 to start debugging. F5 causes Visual Studio to start IIS Express and run your web application. Visual Studio then launches a browser and opens the application's home page. Notice that the address bar of the browser says localhost:port# and not something like That's because localhost always points to your own local computer, which in this case is running the application you just built. When Visual Studio runs a web project, a random port is used for the web server. In the image below, the port number is 1804. When you run the application, you'll probably see a different port number.

Beginning MVC

Right out of the box this default template gives you Home, Contact and About pages. The image above doesn't show the HomeAbout and Contact links. Depending on the size of your browser window, you might need to click the navigation icon to see these links.

Beginning MVC

Beginning MVC

The application also provides support to register and log in. The next step is to change how this application works and learn a little bit about ASP.NET MVC. In the next section, you will look at adding the 'C' part of MVC - a Controller


Date Posted:
Last Updated:
Posted by:
Total Views to date: 66591


- Clive Chinery

Well done Mike!

- Jeff Bowman

Good job, Mike.

We must preserve our culture and heritage ;-)

- Tim

Great series Mike! Any leads on books covering MVC 5 and VB or books that might show code for both? I know the Wrox Professional MVC 5 is due out this month but haven't found anything stating whether it will include both C# and VB code.

- Mike


I'm not aware of any VB-only MVC books. Previous editions of the Wrox MVC books have been C# only, so I doubt that will change with the next edition.

I'm just finishing a port of Tom Dykstra's EF6 and MVC5 tutorials ( to VB. They should be ready in a day or two.

- Joe McGrath


I'm a vb guy that converts C# code when I need.

I read most of Adam Freeman "Pro mvc4"
And this now gonna help me a lot

hmm.. they get into ninject and mention unity
hmm.. I not much of a jquery javascript dude
I a formsengineview type guy I guess.

thinking my .net forms viewstate objectivedatasource type background along with this site gonna help me get through stuff .. hoping dbcontext help me avoid jquery hill (for bit anyways)

excuse if nuttin I said makes sense... for I not much of a 'client' script coder.. this may help me at least bridge my aspx to razor engine .. and avoid jquery for bit (from at least getting a grid to act like a gridview via helpers n stuff) .. and maybe start with jquery via validators I saw you mention somewhere...

just typin my thoughts outloud.. I'll prob reread after looking closer at this site and go 'ahhh' what was I saying!

- Bill K

Have programmed using VB6, .net is a new experience. Excited to get started.

- Raphael Fonua

The set up and delivery is both concise and clear everything I need when I am trying to learn and understand a tutorial. Thank you very much.



- Dan H

I've also looked for a book that covers MVC and VB.Net. The only one I found was "ASP.NET MVC Framework Unleashed" by Stephen Walther but it's from 2009 so I'm concerned that it's too out-dated. Anyone have any other suggestions?

- Mike

@Dan H,

I didn't know that Stephen Walther's book included VB examples. It covers MVC 1.0 and is quite old. A large chunk of the basic framework is still the same but the preferred view engine is Razor and data access is generally done using the Entity Framework rather than Linq to SQL these days.

Recent Comments

Gavan McGregor 09/10/2015 13:45
In response to Downloading multiple files in ASP.NET
Hi, (long time reader, first time poster!) Although it's a deliberately simple example, It's /...

Rodrigo 08/10/2015 20:40
In response to MVC 5 with EF 6 in Visual Basic - Creating an Entity Framework Data Model

Warren Caulton 08/10/2015 20:18
In response to Solved - The Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine
I have a Web Page that uploads and parses through an excel file to upload the latest sheets data to...

Vaclav Elias 07/10/2015 17:26
In response to ASP.NET 5: Dependency Injection and Services in MVC
Hi Mike, this is very nicely explained and elaborated from non dependency to dependency on real I am...

Nizen 07/10/2015 15:07
In response to Bind Data From a SqlDataSource to a Label
Wow thank you very much! I was really stuck and now I can be able to proceed coding as a result of...

Manolo 06/10/2015 21:15
In response to ASP.NET MVC Uploading and Downloading Files
Muchas gracias por esta información, Felicitaciones por su trabajo , me ayudó mucho , Saludos desde...

adam 05/10/2015 14:35
In response to Integrating Web API with ASP.NET Razor Web Pages
Can you re-open this web api project in webmatrix, once you've added web api? Basically I'm looking...

nish 24/09/2015 18:48
In response to Managing Checkboxes And Radios In ASP.NET Razor Web Pages
Very Interresting stuff! it really helped me to send an int value by checking a checkbox!...

Uğur Dinç 24/09/2015 16:45
In response to Scheduled Tasks In ASP.NET With Quartz.Net
Simplest and best explanation on Quartz.NET. Thank you!...

woo 24/09/2015 15:34
In response to Implementing Google's EU End User Consent Policy
Is there any way for the banner to appear only to EU visitors? I am referring to the jQuery code...