@page "/{Slug}"
@using Elternbeirat.Web.Services
@inject SeitenService SeitenService
@if (_seite is null)
{
Nicht gefunden
}
else
{
@_seite.Titel
@((MarkupString)_seite.InhaltHtml)
}
@code {
[Parameter]
public string Slug { get; set; } = "";
private Seite? _seite;
protected override void OnParametersSet()
{
_seite = SeitenService.Finde(Slug);
// Unbekannter Slug -> 404, damit UseStatusCodePagesWithReExecute die
// /not-found-Seite ausliefert (statt einer leeren 200er-Antwort).
if (_seite is null)
{
var kontext = HttpContext;
if (kontext is not null)
{
kontext.Response.StatusCode = StatusCodes.Status404NotFound;
}
}
}
[CascadingParameter]
private HttpContext? HttpContext { get; set; }
}