Razor 翁布拉科;剃须刀按下拉值筛选选择

Razor 翁布拉科;剃须刀按下拉值筛选选择,razor,filter,umbraco,Razor,Filter,Umbraco,我从当前页面的子级生成了一个选择。在这个选择(让我们称之为水果)中,我有一些项目,每个项目都有一个水果类型 此代码不起作用: @{ var selection = CurrentPage.Children("fruit").Where("Visible"); } <ul> @foreach(var item in selection){ @if(@item.fruitType == "Apple"){ <li>

我从当前页面的子级生成了一个选择。在这个选择(让我们称之为水果)中,我有一些项目,每个项目都有一个水果类型

此代码不起作用:

@{
    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>
@{
var selection=CurrentPage.Children(“水果”)。其中(“可见”);
}
    @foreach(选择中的var项目){ @如果(@item.fruitType==“苹果”){

  • @项目名称
    @项目.水果类型
    @if(item.image!=null&!(item.image是Umbraco.Core.Dynamics.DynamicNull)) {var m=Umbraco.Media(item.image); }
  • } }
我想做的是只列出水果类型为“苹果”的项目。这个值是从“水果类型”下拉列表中选择的,我已经尝试使用Umbraco从下拉数据类型中使用的数值和字符串值

如果我删除if条件,除了它显示所有水果类型之外,所有这些都可以完美地工作

有什么建议吗?

多说一句就行了

结果表明,if引用前面都不需要额外的@declaration,因此正确的代码如下所示:

@{
    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>
@{
var selection=CurrentPage.Children(“水果”)。其中(“可见”);
}
    @foreach(选择中的var项目){ 如果(item.furtype==“苹果”){

  • @项目名称
    @项目.水果类型
    @if(item.image!=null&!(item.image是Umbraco.Core.Dynamics.DynamicNull)) {var m=Umbraco.Media(item.image); }
  • } }
尝试使用键入的版本(Model.Content)而不是CurrentPage,以获得更好的智能感知。还可以尝试在循环中打印@item.GetPropertyValue(“FruchtType”),以查看存储在属性FruchtType中的实际值。PS:在@if(@item.fruitType==“Apple”)行中,{在item之前还有一个@