2017-02-08 5 views
0

Ich habe eine Auswahl von den Kindern der aktuellen Seite generiert. Innerhalb dieser Auswahl (nennen wir es Fruit) habe ich Items und jedes Item hat einen FruitType.Umbraco & Rasiermesser. Filter Auswahl nach Dropdown-Wert

funktioniert Dieser Code nicht:

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

Was nur zu tun, ich versuche, um die Elemente mit einem fruitType von „Apple“ auflisten. Dieser Wert wird aus einer Dropdown-Liste "fruitType" ausgewählt, und ich habe versucht, sowohl die numerischen als auch die Zeichenfolgenwerte zu verwenden, die Umbraco aus Dropdown-Datentypen verwendet.

Alles funktioniert perfekt, wenn ich die If-Bedingung entfernen, außer dass es alle Fruchtarten anzeigt.

Irgendwelche Vorschläge?

+0

Versuchen Sie, die typisierte Version (Model.Content) anstelle von CurrentPage für eine bessere Intellisense zu verwenden. Versuchen Sie auch, @ item.GetPropertyValue ("fruitType") innerhalb der Schleife zu drucken, um den tatsächlichen Wert anzuzeigen, der in der Eigenschaft fruitType gespeichert ist. PS: In der Zeile @if (@ item.fruitType == "Apple") {hast du ein extra @ vor Item – Eyescream

Antwort

0

Seufzer Nur eine zu viele Erklärungen ..

Es stellte sich heraus weder die wenn noch die Artikel Referenzen benötigen die zusätzliche @ Erklärung vor ihm so den richtigen Code wie folgt aussieht:

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