Getting Started with ASP.NET MVC 5 using Visual Basic

4.6 (35 votes)

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 Basic 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: 126310


- 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.

- Ghazanfar

Nice working. Please keep it up to convert csharp code into
Its very helpful for vb programmers.

Recent Comments

Thomas 05/03/2018 00:59
In response to I'm Not Writing A Book On Razor Pages
There's a typo on this page: = true)] should be [BindProperty(SupportsGet = true)]...

Rolf Herbert 04/03/2018 19:25
In response to I'm Not Writing A Book On Razor Pages
So is MS deprecating razor Web Pages..? Is it dead..? I wish they would stop killing things so its...

Borut 17/02/2018 12:59
In response to I'm Not Writing A Book On Razor Pages
Mike, is it possible that Web Pages and Razor Pages "live" together in one web application? I a I...

hrboyce 09/02/2018 04:44
In response to I'm Not Writing A Book On Razor Pages
Mike, First thanks for doing this but I have to ask, any chance you would consider converting one of...

aziz sallam 07/02/2018 10:18
In response to I'm Not Writing A Book On Razor Pages
u are a great man...

Satyabrata Mohapatra 31/01/2018 11:36
In response to I'm Not Writing A Book On Razor Pages
This is a great news!!!! Thanks...

tangdf 30/01/2018 07:25
In response to I'm Not Writing A Book On Razor Pages
=> { o.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute()); }); The extension method does...

Obinna Okafor 30/01/2018 04:02
In response to I'm Not Writing A Book On Razor Pages
Thank you very much. I would like to see a project built from scratch using Razor Pages. And it show...

rachida Dukes 31/10/2017 13:52
In response to Customising Identity in Razor Pages
Thanks again for this wonderful tutorial. I followed all the steps in this section called: Adding...

Rachida 31/10/2017 12:06
In response to Customising Identity in Razor Pages
Thanks very much for this wonderful tutorial, it helped a lot....