Blazor 布拉佐;创建包含可能链接的列表

Blazor 布拉佐;创建包含可能链接的列表,blazor,Blazor,构建Blazor3.1应用程序(对服务器和客户端进行原型设计,因此希望为两者提供解决方案)。我试图找出一个简单的方法来做这件事,但似乎比预期的要难 从服务中获取句子字符串列表时,我希望在无序列表中显示它们。 在将文本添加到列表项之前,如果有可识别的单词,我想添加链接 因此,如果文本行表示 “上周在微软,我们创造了一些伟大的东西” “Stackoverflow的人真的很有帮助,尤其是在Microsoft代码问题上” 我希望结果是 <ul> <li>Last week a

构建Blazor3.1应用程序(对服务器和客户端进行原型设计,因此希望为两者提供解决方案)。我试图找出一个简单的方法来做这件事,但似乎比预期的要难

从服务中获取句子字符串列表时,我希望在无序列表中显示它们。 在将文本添加到列表项之前,如果有可识别的单词,我想添加链接

因此,如果文本行表示

  • “上周在微软,我们创造了一些伟大的东西”
  • “Stackoverflow的人真的很有帮助,尤其是在Microsoft代码问题上”
我希望结果是

<ul>
<li>Last week at <a href='www.microsoft.com'>Microsoft</a>, we built something great</li>
<li>People at <a href='www.stackoverflow .com'>Stackoverflow </a> are really helpful, especially with <a href='www.microsoft.com'>Microsoft</a> code issues<li>
</ul>
  • 上周在,我们建造了一些很棒的东西
  • 上的人真的很有帮助,尤其是在代码问题上
我可以使用JavaScript来调整它,但我认为有一种不用JS的方法。 组件不再具有BuildRenderTree的覆盖,所以我不能这样做

我不能假设我需要一个关键字来创建链接,所以每行文本可以有0到多个HREF。
我不能制作一个使用了
的组件,因为它是无序列表的一部分,而且
是一个块行元素,我不想做额外的CSS。

如前所述,我发现解决方案是使用标记字符串(对于Blazor应用,对于Razor应用,HtmlString

如果您设置了一个字典,将关键字作为键,并将带有标记的链接作为值,然后使用c#String.Replace方法遍历句子列表并按键搜索,那么使用值替换会怎么样?然后将更新后的列表迭代为
  • 元素?根据句子和链接的数量,肯定会有一定的时间复杂性,但这会完成。谢谢Nik,但问题不是字典,而是如何动态创建链接。对于普通的RazorASP代码来说,这不是一个问题,因为您可以创建关于输出它们的新HTML元素。对于Blazor来说,从发布前到现在他们删除了RenderFragment方面?我不知道我有多少行,也不知道任何一行上有多少链接-我在问Blazor的人你会怎么做?我找到了我自己的答案,为了显示一些标记,有标记字符串。使用它,我可以解析输入并插入链接,然后只使用
  • @((MarkupString)@line)
  • 我的使用相当简单,但对于那些可能有更复杂场景的应用程序,可以尝试调整文本并插入标记,然后可以使用和供参考,我可以在Blazor应用程序中使用MarkupString,在我的Razor应用程序中使用HtmlString,所以相同的想法适用于不同的项目,只是不同的标记帮助。我现在在blazor文档中看到,它很短,我不奇怪我这么多次错过了它。这正是我们需要做的。输入它作为您自己问题的答案,获得一些投票。