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.