gpt4 book ai didi

c# - 使用 Microsoft.AspNetCore.Html.HtmlString

转载 作者:行者123 更新时间:2023-11-30 17:30:32 27 4
gpt4 key购买 nike

它是一个在 Visual Studio 2017 上运行的 .Net Core 2.0 应用程序我想显示在 View 上返回的 HTML 字符串。

我添加了Microsoft.AspNetCore.Html.Abstractions Nuget到我的应用程序,我想在 Razor View 上显示 HTML 字符串,这就是我的 CSHTML 的样子

@model EDMTLC.Models.QuickResultViewModel
@using Microsoft.AspNetCore.Html;
<div>@Html.Display(Model.ResultHTML) </div>
<div>TEST</div>

我不认为@Html.Display 是我应该做的。在以前的 .Net 版本中,我习惯于

<div>
<text> @MvcHtmlString.Create(Model.ReportHTML)</text>
</div>

但这对 Core 2.0 不再有效

有人可以帮忙举个例子吗?我找到了 this线程,但它没有帮助!

谢谢

最佳答案

一个更优雅的解决方案是构建一个扩展方法:

using Microsoft.AspNetCore.Html;
public static class StringExtensions
{
/// <summary>
/// Convert a standard string into a htmlstring for rendering in a view
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static HtmlString ToHtmlString(this string value)
{
return new HtmlString(value);
}
}

如果需要,在您的 _ViewImports 文件中包含命名空间:

@using MyProject.Extensions

现在在您的 View 中您将能够:

<div>@Model.ReportHTML.ToHtmlString()</div>

我建议在真实世界的应用程序中进行额外的清理,但这应该可以回答 OP 的问题。

关于c# - 使用 Microsoft.AspNetCore.Html.HtmlString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49566489/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com