Timesheet MVC + Razor Components

C# .NET · MVC hosting Blazor components · Azure

Timesheet: hybrid MVC and Razor Components

An MVC page (.cshtml) hosting an interactive Blazor component (.razor) that adds timesheet entries. One of three front ends on the same application layer; this one was an experiment that was abandoned.

Add a timesheet entry

This box is a Blazor component (.razor) inside an MVC page. If it can't connect to the server, Save does nothing: that is the fragility described below.

Why it was abandoned

Razor Components in .NET 8 are designed for Blazor-first apps, not MVC. The hybrid story is "supported", but in practice:

Too brittle, so the next step went straight to Blazor (see the Blazor Server version).

Three front ends, one core

The same application layer (models, repository, services, validation) in Timesheet.Core, used by three different UIs:

How it's built