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 条件,一切都会完美无缺,只是它会显示所有水果类型。
有什么建议吗?
叹息 声明太多了..
原来 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>
我有一个从当前页面的子项生成的选择。在那个选择中(我们称之为水果)我有项目,每个项目都有一个 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 条件,一切都会完美无缺,只是它会显示所有水果类型。
有什么建议吗?
叹息 声明太多了..
原来 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>