Comment puis-je faire en sorte que les éléments HTML stockés sous forme de chaînes C # s'affichent correctement?

Nov 23 2020

J'ai du code HTML qui est stocké dans une chaîne C #. Je voudrais qu'il s'affiche sous forme de texte plutôt que de code HTML. Voici un exemple de code:

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

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

<h1>Page</h1>

@WebUtility.HtmlDecode(link)

J'utilise Blazor (pas MVC) et j'ai essayé d'utiliser la méthode HtmlDecode comme recommandé dans cette question. Je souhaite que le lien s'affiche comme tel:

lien

mais il s'affiche comme:

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

J'ai aussi le même problème avec d'autres éléments HTML. Quelqu'un sait-il comment je peux le faire afficher correctement?

Réponses

3 BrianParker Nov 23 2020 at 04:22

Utilisation MarkupString

@((MarkupString)link)

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

Si vous avez enregistré un fichier Html. Essayez ensuite d'utiliser @variableName, au lieu d'utiliser des assistants HTML ou des assistants Razor

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

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

<h1>Page</h1>

@link