【发布时间】:2017-02-08 11:11:08
【问题描述】:
我有一个从当前页面的子页面生成的选择。在该选择中(我们称之为水果)我有项目,每个项目都有一个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>
我要做的是只列出水果类型为“Apple”的项目。该值是从“fruitType”下拉列表中选择的,我尝试使用 Umbraco 从下拉数据类型中使用的数字和字符串值。
如果我删除 if 条件,除了它显示所有水果类型之外,一切都可以完美运行。
有什么建议吗?
【问题讨论】:
-
尝试使用类型化版本 (Model.Content) 而不是 CurrentPage 以获得更好的智能感知。还可以尝试在循环内打印@item.GetPropertyValue
("fruitType") 以查看存储在属性fruitType 中的实际值。 PS:在@if(@item.fruitType == "Apple"){ 你有一个额外的@ 在项目之前