在我的html页面上,我想从模型中的一系列条目中创建一个列表。但是,其中一些条目可能为null,在这种情况下,我想要一个空列表项,如下所示:
我通过插入一个不间断的空格字符来做到这一点。 (常规空格不会生成空列表项)这是一段代码片段:
<ul>
@{
foreach (var x in Model.Entries)
{
var rayon = x.Rayon ?? " ";
<li>@rayon</li>
}
}
</ul>
可悲的是,这不起作用,因为它会逐字地粘贴
。
删除引号,和/或在开头添加@:将无法编译。
我该怎么办?
答案 0 :(得分:2)
您可以使用Html.Raw
。
像这样使用
<li> @(Html.Raw(rayon)) </li>
答案 1 :(得分:1)
而不是" "
只给出一个空白字符串:
var rayon = x.Rayon ?? string.Empty;
事实上,我认为你甚至可以将变量赋值一起废弃,只使用x.Rayon原样 - 空值应具有相同的效果
<ul>
@{
foreach (var x in Model.Entries)
{
<li>x.Rayon</li>
}
}
</ul>
<强>更新强> 以上两点都适合我。所以,如果仍然不能正常工作,那看起来就是你的ul上的CSS /样式。
e.g。 好吧,我认为这取决于你所拥有的ul / CSS上的CSS /样式(以上都适用于我)。例如以下CSS将隐藏空li元素:
ul li:empty {
display: none;
}
所以,看看你的CSS。
如果您不想更改现有样式,可以在CSS中添加一个额外的类,并将其应用于此实例。 即 CSS:
ul.show-empty-li li:empty{
display:list-item;
}
HTML:
<ul class="show-empty-li">
...
</ul>