Hallo,
ich habe in Blazor ein html-Konstrukt, dass immer wieder auftaucht und immer komplett ausgeschrieben ist. Ich habe es mal auf ein einfaches Konstrukt runtereduziert.
<h4>Headline</h4>
<div>text</div>
Dieser o.g. Code taucht öfters in dem HTML-Code auf. Möchte es auslagern auf eine Funktion/Methode. Als Parameter sollen der Text für die Headline und den Div-Container übergeben werden.
Habe es mir so vorgestellt, das aber nicht klappt:
<div class="Container">
...
@foo("Uberschrift","Text");
...
</div>
@code
{
public static foo(string s1, string s2)
{
return("<h4>s1</h4>
<div>s2</div>")
}
}
Kann mir jemand einen Tip geben?
Ist die Methode eine ganz normale C# Methode? Dann musst du natürlich auch die Variablen einfügen.
https://docs.microsoft.com/de-de/dotnet/csharp/language-reference/tokens/interpolated
Und falls das HTML rendern dein Problem ist, hilft dir vllt. MarkupString
Da muss man in Blazor nicht mit stringgefrickel anfangen.
Hierfür gibt es explizit die "Blazor components".
https://docs.microsoft.com/de-de/aspnet/core/blazor/components/?view=aspnetcore-5.0
in "Untergeordneter Inhalt" siehst Du ein Beispiel dazu.
Wieder ein Fall von learning by doing, ohne die Grundlagen voll zu erlernen.
https://www.youtube.com/watch?v=4G_BzLxa9Nw
Hier hat man nach 8 Stunden schon sehr viel der Grundlagen intus