dotnet core/corefx 中是不是有与 HtmlTextWriter 等效的类?

Posted

技术标签:

【中文标题】dotnet core/corefx 中是不是有与 HtmlTextWriter 等效的类?【英文标题】:Is there an equivalent class to HtmlTextWriter in dotnet core/corefx?dotnet core/corefx 中是否有与 HtmlTextWriter 等效的类? 【发布时间】:2016-03-15 03:08:30 【问题描述】:

许多创建 html 的库都依赖于 HtmlTextWriter。新的 corefx 中是否有这个类的等价物?

以下是一些依赖 HtmlTextWriter 的项目: https://github.com/darthfubumvc/htmltags https://fluenttags.codeplex.com/

另一个问题可能是:“使用 dotnet core / corefx 生成 html 的最佳方法是什么?”

【问题讨论】:

见github.com/dotnet/corefx/issues/24169 【参考方案1】:

.NET Core 2.0does not supportHtmlTextWriter 类。

您可以通过将使用HtmlTextWriter 的逻辑移动到类库.NET Standard 2.0 来解决此问题。然后,您将能够从 .NET Core.NET Framework 项目中引用此类库。

【讨论】:

你采取了类库的方式,我的理解是虽然.NET Core可以编译,但是在没有安装.NET Framework的Linux上你是无法运行应用的。 根据docs.microsoft.com/en-us/dotnet/api/… HtmlTextWriter 不受任何.NET CORE Framework 支持【参考方案2】:

如果您不关心格式和缩进或制表符,您可以使用普通的TextWriter 和扩展方法。

使用扩展方法添加回WriteBeginTag 和其他方法将为您提供源代码级别的兼容性,但由于您仍在使用TextWriter 而没有额外的状态,您将无法正确实现缩进,除非您存储你的缩进状态在一个单独的对象中,并用 TextWriter 携带它(我确实考虑过使用 thread-local-storage 使其隐含,但由于 ASP.NET Core 大量使用 async 我不认为它是为此目的使用线程本地存储是明智的)。

【讨论】:

【参考方案3】:

我已经在 .NET core 3.1 和 .NET 5 上测试过一个超级简单的修复方法。只需在您的 .NET core 项目中安装 NuGet 包 HtmlTextWriter 即可。

【讨论】:

据此:docs.microsoft.com/en-us/dotnet/api/… .NET CORE Framekwork 不支持 HtmlTextWriter NuGet 包适用于 .NET 标准,但也适用于 .NET 核心。我已经对此进行了测试。任何想要迁移的人都可以在花费更多精力之前轻松地进行测试。

以上是关于dotnet core/corefx 中是不是有与 HtmlTextWriter 等效的类?的主要内容,如果未能解决你的问题,请参考以下文章

Spark Structured Streaming中是不是有与reduceByKeyAndWindow等价的东西?

插件中是不是有与 Bootstrap 类等效的类

Blazor 中是不是有与 Html.Raw 等效的内容?

react-native 中是不是有与 RCTJavaScriptDidLoadNotification 事件等效的 Android?

css中是不是有与背景图像等效的前景?

pandas 中是不是有与 .groupby 相对的“ungroup by”操作?