在屏幕上显示时,如何使字符串中的粗体标签<b>生效?

时间:2019-03-26 10:15:14

标签: c# html .net razor model-view-controller

我有一个MVC应用程序,其中有一个字符串,该字符串是使用C#代码从视图模型动态创建的,其中某些单词需要用粗体标记。例如,如果从C#代码创建的字符串是“ This is a test”,那么当它从视图模型传递到cshtml视图并显示在屏幕上时,我希望将单词“ test”显示为粗体,我尝试了Regex .replace,它帮助我用粗体标签包裹了文本,但是之后,我在屏幕上看到的是带有标签的纯文本“这是 test ,而我希望它是-'这是测试”。我尝试了Regex.replace,但是没有用。有人可以建议在这种情况下应该怎么做吗?下面是我的代码:

content = System.Text.RegularExpressions.Regex.Replace(content, wordToHighlight, "<b>" + wordToHighlight + "</b>", System.Text.RegularExpressions.RegexOptions.IgnoreCase);

1 个答案:

答案 0 :(得分:2)

在您的情况下:

using System;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main()
    {
    String term = "test";
    String input = "This is a test";
    String result = Regex.Replace( input, String.Join("|", term.Split(' ')), @"<b>$&</b>");
    Console.Out.WriteLine(result);
    }
}

将给您:This is a <b>test</b>

为了在视图中显示此字符串,请使用:

@Html.Raw(result)

它将显示您的字符串为:这是一个测试