Umbraco & 剃刀。按下拉值筛选选择

Umbraco & Razor. Filter selection by dropdown value

我有一个从当前页面的子项生成的选择。在那个选择中(我们称之为水果)我有项目,每个项目都有一个 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 从下拉数据类型中使用的数字和字符串值。

如果我删除 if 条件,一切都会完美无缺,只是它会显示所有水果类型。

有什么建议吗?

叹息 声明太多了..

原来 ifitem 引用都不需要在它前面附加 @ 声明,因此正确的代码如下所示:

@{
    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>