【问题标题】:Equivalent for MvcHtmlString in ASP.NET 5?等效于 ASP.NET 5 中的 MvcHtmlString?
【发布时间】:2015-04-13 09:40:02
【问题描述】:

在 ASP.NET 5 中是否有 MvcHtmlString 的等价物? 否则,我们如何才能正确地从我的自定义 HTMLHelper 方法呈现 HTML 输出?

【问题讨论】:

    标签: html-helper asp.net-core asp.net-core-mvc


    【解决方案1】:

    不再需要MvcHtmlString(出于兼容性原因添加在HtmlString 之上),因此您可以简单地使用Microsoft.AspNet.Mvc.Rendering.HtmlString

    您很容易注意到,Asp.Net 5 的 ViewComponents 和 Helpers 也使用(通过返回)相同的 HtmlString 到视图。

    更新(适用于 ASP.NET Core 3.1):

    您需要改用Microsoft.AspNetCore.Html.HtmlString

    【讨论】:

    • Core 3.1 中 MVCHtmlString.Create() 的等效部分是什么
    • @KarthicG, new Microsoft.AspNetCore.Html.HtmlString(...)?
    • 感谢@haim770,它在cs文件中工作正常,但我在查看页面中有疑问。在Htmlpage==>@Html.Raw而不是MVCHtml.Create()中。对吗?
    • @KarthicG,是的。
    • 对于 ASP.NET Core 5,有时使用/返回 IHtmlContent(由 HtmlString 实现)就足够了。
    【解决方案2】:

    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 包源代码

    【讨论】:

    • Core 3.1 中 MVCHtmlString.Create() 的等效部分是什么
    • 对于 ASP.NET Core 5,有时使用/返回 IHtmlContent(由 HtmlString 实现)而不是 HtmlString 就足够了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    • 2015-08-01
    • 2022-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多