Book Image

Apps and Services with .NET 8 - Second Edition

By : Mark J. Price
5 (7)
Book Image

Apps and Services with .NET 8 - Second Edition

5 (7)
By: Mark J. Price

Overview of this book

Elevate your practical C# and .NET skills to the next level with this new edition of Apps and Services with .NET 8. With chapters that put a variety of technologies into practice, including Web API, gRPC, GraphQL, and SignalR, this book will give you a broader scope of knowledge than other books that often focus on only a handful of .NET technologies. You’ll dive into the new unified model for Blazor Full Stack and leverage .NET MAUI to develop mobile and desktop apps. This new edition introduces the latest enhancements, including the seamless implementation of web services with ADO.NET SqlClient's native Ahead-of-Time (AOT) support. Popular library coverage now includes Humanizer and Noda Time. There’s also a brand-new chapter that delves into service architecture, caching, queuing, and robust background services. By the end of this book, you’ll have a wide range of best practices and deep insights under your belt to help you build rich apps and efficient services.
Table of Contents (19 chapters)
18
Index

Defining web user interfaces with Razor views

Let’s review how we can build the user interface of a web page in a modern ASP.NET Core MVC website.

Understanding Razor views

In MVC, the V stands for view. The responsibility of a view is to transform a model into HTML or other formats.

There are multiple view engines that could be used to do this. The default view engine is called Razor, and it uses the @ symbol to indicate server-side code execution.

Let’s review the home page view and how it uses a shared layout:

  1. In the Views/Home folder, open the Index.cshtml file and note the block of C# code wrapped in @{ }. This will execute first and can be used to store data that needs to be passed into a shared layout file, like the title of the web page, as shown in the following code:
    @{
      ViewData["Title"] = "Home Page";
    }
    
  2. Note the static HTML content in the <div> element that uses Bootstrap classes...