【发布时间】:2015-04-13 09:40:02
【问题描述】:
在 ASP.NET 5 中是否有 MvcHtmlString 的等价物? 否则,我们如何才能正确地从我的自定义 HTMLHelper 方法呈现 HTML 输出?
【问题讨论】:
标签: html-helper asp.net-core asp.net-core-mvc
在 ASP.NET 5 中是否有 MvcHtmlString 的等价物? 否则,我们如何才能正确地从我的自定义 HTMLHelper 方法呈现 HTML 输出?
【问题讨论】:
标签: html-helper asp.net-core asp.net-core-mvc
不再需要MvcHtmlString(出于兼容性原因添加在HtmlString 之上),因此您可以简单地使用Microsoft.AspNet.Mvc.Rendering.HtmlString。
您很容易注意到,Asp.Net 5 的 ViewComponents 和 Helpers 也使用(通过返回)相同的 HtmlString 到视图。
更新(适用于 ASP.NET Core 3.1):
【讨论】:
new Microsoft.AspNetCore.Html.HtmlString(...)?
IHtmlContent(由 HtmlString 实现)就足够了。
Asp .Net Core (v.5) 将 MvcHtmlString 替换为新的 HtmlString 类型。不要将此与作为 .NET 4.0 中引入的 System.Web 命名空间的一部分的 HtmlString 类型混淆(MvcHtmlString 继承自此类型)。
注意: 2016 年 4 月 28 日之后,HtmlString 类型被移至 Microsoft.AspNetCore.Html.Abstractions 包中。请记住将其包含在依赖项节点的 project.json 中。
另外,你需要声明 using 指令
using Microsoft.AspNetCore.Html;
或通过其完全限定名称声明它:
Microsoft.AspNetCore.Html.HtmlString
如果您想了解有关 HtmlString 类型的更多信息,请查看位于 here 的 HtmlAbstractions 包源代码
【讨论】:
IHtmlContent(由 HtmlString 实现)而不是 HtmlString 就足够了。