无法显示跨度中的多个空格

时间:2019-04-23 11:59:57

标签: c# html asp.net-mvc razor

如何显示跨度的空格?我的代码如下:

@for (int j = 0; j < outputArray.Length; j++)
            {
                try
                {
                    char c = outputArray[j];
                    if (i < answerArray.Length)
                    {
                        bool isMatch = answerArray[j] == outputArray[j];
                        string color = isMatch ? "green" : "red";
                        string tag = "<span " + "style=" + '"' + $"background-color: {color};" + "color:white;" + '"' + ">" + c + "</span>";
                        sb.Append(tag);
                    }
                    else
                    {
                       string tag = "<span " + "style=" + '"' + $"background-color: red;" + "color:white;" + '"' + ">" + c + "</span>";
                       sb.Append(tag);
                    }
                    }
                    catch
                    {
                        continue;
                    }
                }
                @Html.Raw(sb.ToString())

我的问题是,为什么当我的char c为空白(' ')时,它显示一个跨度为whitespace的法线,但是当我添加两个或多个whitespaces时为何跨度,它只显示一次?而且当我有cat_____之类的字符串时,我在whitespaces一词之后没有得到最后一个cat

为什么我不能添加多个带有空格的span并在@Html.Raw中正确渲染?

示例:我想呈现这样的字符串:cat_____dog_etc_____,我得到类似cat_dog_etc____(下划线为whitespaces)吗?

编辑:

我的sb.ToString()看起来像这样:

<span style="background-color: green;color:white;">h</span><span style="background-color: green;color:white;">a</span><span style="background-color: green;color:white;">e</span><span style="background-color: green;color:white;"> </span><span style="background-color: green;color:white;">a</span><span style="background-color: green;color:white;">n</span><span style="background-color: green;color:white;">d</span><span style="background-color: green;color:white;"> </span><span style="background-color: green;color:white;">v</span><span style="background-color: green;color:white;">i</span><span style="background-color: green;color:white;">a</span><span style="background-color: green;color:white;"> </span><span style="background-color: green;color:white;">e</span><span style="background-color: green;color:white;">c</span><span style="background-color: green;color:white;">y</span>

我正在这样做,因为我正在检查每个字符,并且我依赖于它是否与第二个字符匹配

EDIT2

它不是重复的,因为我在spanHtml.Raw中苦苦挣扎,根本没有空格。尽管答案明确,但我的场景还是很独特

0 个答案:

没有答案