Razor-如何在变量中存储html特殊字符
在我的html页面上,我想从模型中的条目集合中创建一个列表。但是,其中一些条目可能为空,在这种情况下,我希望有一个空列表项,如下所示:Razor-如何在变量中存储html特殊字符,html,asp.net-mvc,razor,Html,Asp.net Mvc,Razor,在我的html页面上,我想从模型中的条目集合中创建一个列表。但是,其中一些条目可能为空,在这种情况下,我希望有一个空列表项,如下所示: 某物 别的 更多的东西 我通过插入一个不间断的空格字符来实现。(常规空格不会生成空列表项)下面是一段代码片段: <ul> @{ foreach (var x in Model.Entries) { var rayon = x.Rayon ?? " ";
- 某物
- 别的
- 更多的东西
<ul>
@{
foreach (var x in Model.Entries)
{
var rayon = x.Rayon ?? " ";
<li>@rayon</li>
}
}
</ul>
@{
foreach(Model.Entries中的var x)
{
var人造丝=x.人造丝??”;
- @人造丝
}
}
遗憾的是,这不起作用,因为它会逐字粘贴
。
删除引号和/或在开头添加@:将无法编译
我能做什么?代替“
只需给出一个空白字符串:
var rayon = x.Rayon ?? string.Empty;
事实上,我认为你甚至可以把变量赋值一起废弃,直接使用x.Rayon原样——空值应该有同样的效果
<ul>
@{
foreach (var x in Model.Entries)
{
<li>x.Rayon</li>
}
}
</ul>
所以,看看你的CSS
如果不想更改现有样式,可以向CSS中添加一个额外的类,并将其应用于此实例。
即
CSS:
HTML:
...
代替“
只需给出一个空白字符串:
var rayon = x.Rayon ?? string.Empty;
事实上,我认为你甚至可以把变量赋值一起废弃,直接使用x.Rayon原样——空值应该有同样的效果
<ul>
@{
foreach (var x in Model.Entries)
{
<li>x.Rayon</li>
}
}
</ul>
所以,看看你的CSS
如果不想更改现有样式,可以向CSS中添加一个额外的类,并将其应用于此实例。
即
CSS:
HTML:
...
您可以使用Html.Raw
像这样使用
<li> @(Html.Raw(rayon)) </li>
@(Html.Raw(人造丝))
您可以使用Html.Raw
像这样使用
<li> @(Html.Raw(rayon)) </li>
@(Html.Raw(人造丝))
遗憾的是,正如我所料,string.Empty不会生成空列表项。没有任何内容或只有空白的列表项将不会显示在html页面上。这就是为什么我需要一个不可见的字符,而不仅仅是空白,比如一个不间断的空格。然而,我不想修改它,因为这个元素已经附加了大量的CSS,我不认为我完全理解它,所以其他的解决方案可以很好地工作;但感谢您的帮助:)遗憾的是,正如我所料,string.Empty不会生成空列表项。没有任何内容或只有空白的列表项将不会显示在html页面上。这就是为什么我需要一个不可见的字符,而不仅仅是空白,比如一个不间断的空格。然而,我不想修改它,因为这个元素已经附加了大量的CSS,我不认为我完全理解它,所以其他的解决方案可以很好地工作;但是谢谢你的帮助:)这会产生一个空字符串好吧,但我不需要空字符串。我特别需要字符串中的一个不可见字符,例如
,否则列表项将不会显示。您需要小心使用Html.Raw-这会打开潜在的XSS漏洞。i、 e.如果值为:“警报('hello')”…它正在生成
,该怎么办。您可以在控制台中查看。啊,您是对的。我仍然在尝试另一种解决方案,不小心。谢谢@我知道,这很危险,但在这里,它是安全的。因为它不是用户输入的值。所以使用它是安全的。这样可以生成一个空字符串,但我不需要空字符串。我特别需要字符串中的一个不可见字符,例如
,否则列表项将不会显示。您需要小心使用Html.Raw-这会打开潜在的XSS漏洞。i、 e.如果值为:“警报('hello')”…它正在生成
,该怎么办。您可以在控制台中查看。啊,您是对的。我仍然在尝试另一种解决方案,不小心。谢谢@我知道,这很危险,但在这里,它是安全的。因为它不是用户输入的值。所以使用起来是安全的。