PartialBuilder
Der PartialBuilder rendert eine Razor-Partial als IBuilder und gibt deren
HTML zurück. Aufruf über @Html.Fmh(new PartialBuilder(...)) — nützlich, um eine Partial
als wiederverwendbare IBuilder-Konstante bereitzustellen (z. B. die Head-/Body-Includes
in BasisAssetKonstanten).
PartialBuilder mit Modell
Reicht ein Modell an die Partial weiter (zweiter Konstruktor-Parameter).
@Html.Fmh(new PartialBuilder(
"~/Areas/Infrastruktur/Views/Demo/_PartialBuilderInhaltMitModell.cshtml",
new PartialBuilderBeispielModell
{
Titel = "Mit Modell",
Beschreibung = "Der PartialBuilder reicht dieses Modell an die Partial weiter.",
}))
Darstellung
Der PartialBuilder (FMH.Komponente.Infrastruktur.Mvc) ist ein schlanker IBuilder, der eine Razor-Partial rendert und ihr HTML als HtmlString zurückgibt. Damit lässt sich eine Partial überall dort einbinden, wo ein IBuilder erwartet wird — insbesondere über @Html.Fmh(...) — statt über @await Html.PartialAsync(...).
@Html.Fmh(new PartialBuilder("~/Areas/Infrastruktur/Views/Demo/_PartialBuilderInhalt.cshtml"))
Der eigentliche Nutzen: eine Partial als wiederverwendbare IBuilder-Konstante bereitstellen, die nicht weiss, in welcher View sie später gerendert wird — so wie BasisAssetKonstanten.HeadIncludes / BodyIncludes.
Konstruktor
| Parameter | Erklärung |
|---|---|
partialName |
Name bzw. Pfad der Partial-View, z. B. ~/Areas/.../_Inhalt.cshtml |
model (optional) |
Modell für die Partial. null (Standard) rendert die Partial ohne Modell; sonst wird es an die Partial weitergereicht |
Verhalten (Build)
- Benötigt zwingend den
IHtmlHelper(View-Kontext). Wird er nicht übergeben, wirftBuildeineInvalidOperationException— beim Aufruf über@Html.Fmh(...)ist der Helper automatisch vorhanden. - Rendert die Partial über
helper.Partial(partialName)bzw.helper.Partial(partialName, model)und gibt das Ergebnis alsHtmlStringzurück (roh einbettbar, nicht doppelt kodiert). - Synchron (nutzt
helper.Partial, nichtPartialAsync) — passend zum synchronenIBuilder.Build-Vertrag.
Hinweise
- Kein Fluent-API wie
Button/Icon/Dialog— bewusst minimal, da nur eine Partial gekapselt wird. partialNameundmodelsind unveränderlich (im Konstruktor gesetzt) — der Builder ist damit als statische Konstante gefahrlos wiederverwendbar, solange die Partial zustandslos rendert.
PartialBuilder ohne Modell
Rendert eine Partial über new PartialBuilder(partialName).
@Html.Fmh(new PartialBuilder("~/Areas/Infrastruktur/Views/Demo/_PartialBuilderInhalt.cshtml"))
Darstellung
_PartialBuilderInhalt.cshtml und wurde über den
PartialBuilder gerendert.
Der PartialBuilder (FMH.Komponente.Infrastruktur.Mvc) ist ein schlanker IBuilder, der eine Razor-Partial rendert und ihr HTML als HtmlString zurückgibt. Damit lässt sich eine Partial überall dort einbinden, wo ein IBuilder erwartet wird — insbesondere über @Html.Fmh(...) — statt über @await Html.PartialAsync(...).
@Html.Fmh(new PartialBuilder("~/Areas/Infrastruktur/Views/Demo/_PartialBuilderInhalt.cshtml"))
Der eigentliche Nutzen: eine Partial als wiederverwendbare IBuilder-Konstante bereitstellen, die nicht weiss, in welcher View sie später gerendert wird — so wie BasisAssetKonstanten.HeadIncludes / BodyIncludes.
Konstruktor
| Parameter | Erklärung |
|---|---|
partialName |
Name bzw. Pfad der Partial-View, z. B. ~/Areas/.../_Inhalt.cshtml |
model (optional) |
Modell für die Partial. null (Standard) rendert die Partial ohne Modell; sonst wird es an die Partial weitergereicht |
Verhalten (Build)
- Benötigt zwingend den
IHtmlHelper(View-Kontext). Wird er nicht übergeben, wirftBuildeineInvalidOperationException— beim Aufruf über@Html.Fmh(...)ist der Helper automatisch vorhanden. - Rendert die Partial über
helper.Partial(partialName)bzw.helper.Partial(partialName, model)und gibt das Ergebnis alsHtmlStringzurück (roh einbettbar, nicht doppelt kodiert). - Synchron (nutzt
helper.Partial, nichtPartialAsync) — passend zum synchronenIBuilder.Build-Vertrag.
Hinweise
- Kein Fluent-API wie
Button/Icon/Dialog— bewusst minimal, da nur eine Partial gekapselt wird. partialNameundmodelsind unveränderlich (im Konstruktor gesetzt) — der Builder ist damit als statische Konstante gefahrlos wiederverwendbar, solange die Partial zustandslos rendert.