Files
Elternbeirat/Elternbeirat.Web/Components/Pages/Inhaltsseite.razor
T

42 lines
936 B
Plaintext

@page "/{Slug}"
@using Elternbeirat.Web.Services
@inject SeitenService SeitenService
@if (_seite is null)
{
<PageTitle>Nicht gefunden</PageTitle>
}
else
{
<PageTitle>@_seite.Titel</PageTitle>
<article>
@((MarkupString)_seite.InhaltHtml)
</article>
}
@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; }
}