Laden...

Funktion/Methode in Blazor aufrufen um HTML-Code zu reduzieren

Erstellt von degri2006 vor 3 Jahren Letzter Beitrag vor 3 Jahren 626 Views
D
degri2006 Themenstarter:in
21 Beiträge seit 2009
vor 3 Jahren
Funktion/Methode in Blazor aufrufen um HTML-Code zu reduzieren

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?

309 Beiträge seit 2020
vor 3 Jahren

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

F
10.010 Beiträge seit 2004
vor 3 Jahren

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

D
degri2006 Themenstarter:in
21 Beiträge seit 2009
vor 3 Jahren

Ok. Danke für das Feedback.