Wie kann ich dafür sorgen, dass HTML-Elemente, die als C # -Strings gespeichert sind, ordnungsgemäß angezeigt werden?

Nov 23 2020

Ich habe einen HTML-Code, der in einer C # -String gespeichert ist. Ich möchte, dass es als Text und nicht als HTML-Code angezeigt wird. Hier ist ein Beispielcode:

@page "/page"
@using System
@using System.Net

@{
    var link = "<a href='https://apple.com'>Link</a>"
}

<h1>Page</h1>

@WebUtility.HtmlDecode(link)

Ich verwende Blazor (nicht MVC) und habe versucht, die in dieser Frage empfohlene HtmlDecode-Methode zu verwenden . Ich möchte, dass der Link als solcher angezeigt wird:

Verknüpfung

aber es wird angezeigt als:

<a href="https://apple.com">link</a>

Ich habe das gleiche Problem auch mit anderen HTML-Elementen. Weiß jemand, wie ich es richtig anzeigen lassen kann?

Antworten

3 BrianParker Nov 23 2020 at 04:22

Verwenden MarkupString

@((MarkupString)link)

@{
    string link = "<a href='https://apple.com'>Link</a>"
}
RikudouEnSof Nov 23 2020 at 04:17

Wenn Sie ein HTML gespeichert haben. Versuchen Sie dann, @variableName zu verwenden, anstatt HTML-Helfer oder Razor-Helfer zu verwenden

@page "/page"
@using System
@using System.Net

@{
    var link = "<a href='https://apple.com'>Link</a>"
}

<h1>Page</h1>

@link