【发布时间】:2011-06-26 03:12:39
【问题描述】:
我可能做错了......所以如果我错了,请纠正我。
我从他们的 RestAPI 中提取了我的 Last.FM 数据并将其缓存(仅当缓存超过 30 分钟时才会刷新),然后我将其加载到枚举的曲目列表中。
我试图在 Razor 显示中删除该逻辑,但从未设法使其仅与 foreach 和 if (item.image...)... 一起工作,添加逻辑以删除divs 导致 razor 丢失了 foreach 的右括号。
我是不是太复杂了?
<!-- lfm data -->
@* Iterate over the Last.FM data and display it in an attractive format *@
@foreach (var group in Model.Select((x, i) => new { Group = i / 4, Item = x })
.GroupBy(x => x.Group)) {
<div class="LFM-Data">
foreach(var x in group) {
if (x.item.image != null) {
<img src="@x.item.image.ToString()" class="lfm-artwork" alt="@x.item.album"/>
} else {
<img src="/Content/images/lfm/NoAlbumArt.jpg" class="lfm-artwork" alt="No Album Art Available" />
}
<p>@Html.Raw(x.item.name.ToString())</p>
}
</div>
}
在遵循 Equiso 的建议后,我遇到了一个奇怪的范围界定问题,即 X 不在当前范围内,或者 x 不包含图像属性...
@model IEnumerable<CCBlog.Classes.LastFmWrapper.Track>
这是 LFM Wrapper 类的一部分 --- 我正在对数据进行建模
public struct Track
{
public string artist { get; set; }
public string name { get; set; }
public string album { get; set; }
public string image { get; set; }
}
我称之为恶作剧!
【问题讨论】:
-
试试把
x.item改成x.Item,我觉得是这个问题 -
打我的头...谢谢你握着我的手,不敢相信我错过了。