Esiste un equivalente di Html.Raw in Blazor?

blazor

Domanda

Ho un codice HTML che è memorizzato in una stringa. Come posso rendere questa vista Blazor / Razor senza codifica HTML automatica?

Risposta accettata

Funzionalità per il rendering HTML grezzo aggiunto nella versione Blazor 0.5.0. Questo è l'esempio di come il rendering HTML grezzo può essere eseguito da string contenente contenuto HTML:

@((MarkupString)myMarkup)

@functions {
    string myMarkup = "<p class='markup'>This is a <em>markup string</em>.</p>";
}

Maggiori informazioni possono essere trovate nell'annuncio "Blazor 0.5.0 versione sperimentale ora disponibile" .


Risposta popolare

Non ora, ma lo avrà probabilmente nella prossima versione: Segui questo

Soluzione alternativa (da questo problema):

cshtml

    

    @functions{
        [Parameter] string Content { get; set; }
        private ElementRef Span;

        protected override void OnAfterRender()
        {
            Microsoft.AspNetCore.Blazor.Browser.Interop.RegisteredFunction.Invoke("RawHtml", Span, Content);
        }
    }

index.html

        
            Blazor.registerFunction('RawHtml', function (element, value) {
                element.innerHTML = value;
                for (var i = element.childNodes.length - 1; i >= 0; i--) {
                    var childNode = element.childNodes[i];
                    element.parentNode.insertBefore(childNode, element);
                }
                element.parentNode.removeChild(element);
                return true;
            });
        




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché