У меня есть HTML, который хранится в строке. Как я могу визуализировать это вид Blazor / Razor без автоматической кодировки HTML?
Функция рендеринга необработанного HTML была добавлена в версии Blazor
. Вот пример того, как необработанный HTML может быть визуализирован из string
содержащей содержимое HTML:
@((MarkupString)myMarkup)
@functions {
string myMarkup = "<p class='markup'>This is a <em>markup string</em>.</p>";
}
Дополнительную информацию можно найти в объявлении «Экспериментальный выпуск Blazor 0.5.0 уже доступен» .
Не сейчас, но это будет возможно в следующей версии: Следуйте этому
Обход (из этой проблемы):
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; });