如何在 Blazor/razor 文件中添加 SVG <text>

mal*_*loo 4 razor-pages blazor

我有一个生成 SVG 图像的 Blazor 应用程序 (.Net 3.1 Core)。它像任何其他 HTML 一样使用 razor/Blazor 语法生成。问题出在生成 SVG<text>元素时。我努力了

<text x="0">Some text</text>
Run Code Online (Sandbox Code Playgroud)

这会导致语法无效,因为在 razor 文件中很特殊。我也尝试过

@:<text x="0">Some text</text>
Run Code Online (Sandbox Code Playgroud)

这是 razor 接受的,但这会导致标签被删除并且属性呈现为普通文本而不是 SVG 标签。

如何用<text>razor 语法编写 SVG 元素?我不想恢复到 C# 和 HtmlString 等。

更新:这里缺少的关键点是我在 @foreach 中使用了它,我首先认为这不相关。

mal*_*loo 7

像下面这样将 SVG 包裹<text>在剃刀中<text>是可行的,但它并不漂亮或直观:)

<text>
<text x="0">Some text</text>
</text>
Run Code Online (Sandbox Code Playgroud)

我不确定为什么 @: 没有按照我的理解工作@:stuff并且<text>stuff</text>应该是等效的。