Book Image

C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development - Fourth Edition

By : Mark J. Price
Book Image

C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development - Fourth Edition

By: Mark J. Price

Overview of this book

In C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development, Fourth Edition, expert teacher Mark J. Price gives you everything you need to start programming C# applications. This latest edition uses the popular Visual Studio Code editor to work across all major operating systems. It is fully updated and expanded with new chapters on Content Management Systems (CMS) and machine learning with ML.NET. The book covers all the topics you need. Part 1 teaches the fundamentals of C#, including object-oriented programming, and new C# 8.0 features such as nullable reference types, simplified switch pattern matching, and default interface methods. Part 2 covers the .NET Standard APIs, such as managing and querying data, monitoring and improving performance, working with the filesystem, async streams, serialization, and encryption. Part 3 provides examples of cross-platform applications you can build and deploy, such as web apps using ASP.NET Core or mobile apps using Xamarin.Forms. The book introduces three technologies for building Windows desktop applications including Windows Forms, Windows Presentation Foundation (WPF), and Universal Windows Platform (UWP) apps, as well as web applications, web services, and mobile apps.
Table of Contents (21 chapters)

Exploring Razor Pages

Razor Pages allow a developer to easily mix HTML markup with C# code statements. That is why they use the .cshtml file extension.

By default, ASP.NET Core looks for Razor Pages in a folder named Pages.

Enabling Razor Pages

You will now change the static HTML page into a dynamic Razor Page, and then add and enable the Razor Pages service.

  1. In the NorthwindWeb project, create a folder named Pages.
  2. Move the index.html file into the Pages folder.
  3. Rename the file extension from .html to .cshtml.
  4. In Startup.cs, in the ConfigureServices method, add statements to add Razor Pages and its related services like model binding, authorization, antiforgery, views, and tag helpers, as shown highlighted in the following code:
    public void ConfigureServices(IServiceCollection services)
    {
      services.AddRazorPages();
    }
  1. In Startup.cs, in the Configure method, in the configuration to use endpoints, add a statement to use MapRazorPages, as shown...