19 Creating a website with MVC controllers
This chapter covers
- Creating an MVC application
- Choosing between Razor Pages and MVC controllers
- Returning Razor views from MVC controllers
In this book I’ve focused on Razor Pages over MVC controllers for server-rendered HTML apps, as I consider Razor Pages to be the preferable paradigm in most cases. In this chapter we dig a bit more into exactly why I consider Razor Pages the right choice and have a brief look at the alternative.
In section 19.2 you’ll create a default MVC application using a template, so you can familiarize yourself with the general project layout of an MVC application. We’ll look at some of the differences between an MVC application and a Razor Pages app, as well as the many similarities.
Next, I’ll dig into why I find Razor Pages to be a preferable application model compared to MVC controllers. You’ll learn about the improved developer ergonomics of Razor Pages compared to MVC controllers, as well as the cases where MVC controllers are nevertheless the right choice.
In section 19.4 you’ll learn about rendering Razor views using MVC controllers. You’ll learn how the MVC framework relies on conventions to locate view files, and how to override these by selecting a specific Razor view template to render. Finally, you’ll see the full view selection algorithm in all its glory.