我有从当前页面的子项生成的选择。在那个选择中(我们称之为Fruit)我有项目,每个项目都有一个fruitType。
此代码不起作用:
@{
var selection = CurrentPage.Children("fruit").Where("Visible");
}
<ul>
@foreach(var item in selection){
@if(@item.fruitType == "Apple"){
<li>
<a href="@item.Url">@item.Name</a><br/>
@item.fruitName<br>
@item.fruitType<br>
@if (item.image != null && !(item.image is Umbraco.Core.Dynamics.DynamicNull))
{ var m = Umbraco.Media(item.image);
<img src="@m.Url" alt="Picture of @item.Name" />
}
</li>
}
}
</ul>
我要做的是只列出fruitType为“Apple”的项目。这个值是从“fruitType”下拉列表中选择的,我尝试使用Umbraco从Dropdown数据类型中使用的数值和字符串值。
除非它显示所有水果类型,否则如果我删除if条件,这一切都很有效。
有什么建议吗?
答案 0 :(得分:0)
叹息只有一个太多的声明..
原来, if 和 item 引用都不需要前面的附加@声明,所以正确的代码如下所示:
@{
var selection = CurrentPage.Children("fruit").Where("Visible");
}
<ul>
@foreach(var item in selection){
if(item.fruitType == "Apple"){
<li>
<a href="@item.Url">@item.Name</a><br/>
@item.fruitName<br>
@item.fruitType<br>
@if (item.image != null && !(item.image is Umbraco.Core.Dynamics.DynamicNull))
{ var m = Umbraco.Media(item.image);
<img src="@m.Url" alt="Picture of @item.Name" />
}
</li>
}
}
</ul>