Blazor 布拉佐;创建包含可能链接的列表
构建Blazor3.1应用程序(对服务器和客户端进行原型设计,因此希望为两者提供解决方案)。我试图找出一个简单的方法来做这件事,但似乎比预期的要难 从服务中获取句子字符串列表时,我希望在无序列表中显示它们。 在将文本添加到列表项之前,如果有可识别的单词,我想添加链接 因此,如果文本行表示Blazor 布拉佐;创建包含可能链接的列表,blazor,Blazor,构建Blazor3.1应用程序(对服务器和客户端进行原型设计,因此希望为两者提供解决方案)。我试图找出一个简单的方法来做这件事,但似乎比预期的要难 从服务中获取句子字符串列表时,我希望在无序列表中显示它们。 在将文本添加到列表项之前,如果有可识别的单词,我想添加链接 因此,如果文本行表示 “上周在微软,我们创造了一些伟大的东西” “Stackoverflow的人真的很有帮助,尤其是在Microsoft代码问题上” 我希望结果是 <ul> <li>Last week a
- “上周在微软,我们创造了一些伟大的东西”
- “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方法遍历句子列表并按键搜索,那么使用值替换会怎么样?然后将更新后的列表迭代为@((MarkupString)@line)
我的使用相当简单,但对于那些可能有更复杂场景的应用程序,可以尝试调整文本并插入标记,然后可以使用和供参考,我可以在Blazor应用程序中使用MarkupString,在我的Razor应用程序中使用HtmlString,所以相同的想法适用于不同的项目,只是不同的标记帮助。我现在在blazor文档中看到,它很短,我不奇怪我这么多次错过了它。这正是我们需要做的。输入它作为您自己问题的答案,获得一些投票。