Timesheet CRUD Index Page (.cshtml)
Timesheet CRUD Razor Component (.razor)

Abandoned

Razor Components in .NET 8 are designed for Blazor-first apps, not MVC
The hybrid story is “supported”, but in reality:
  • the pipeline order is fragile
  • hydration silently fails
  • errors hide behind _framework/blazor.server.js
  • namespaces matter
  • routing order matters
  • antiforgery matters
  • the hub must be mapped in the right place
  • the root component must exist
  • the layout must not interfere
  • MVC tag helpers can break hydration
I've spent a day on it. Lets just go straignt to Razor.
God help anyone who ever needs to do it this way!