我可能會做錯了......所以請糾正我,如果我是。ASP.Net剃刀視圖
我已經從他們的RestAPI中提取了我的Last.FM數據並對其進行了緩存(只有當緩存大於30分鐘時才刷新),並且從那裏我將它加載到列舉的列表中。
我試圖在剃刀顯示中放棄這個邏輯,並且從未設法使它與foreach一起工作,如果(item.image ...)...在邏輯中添加了drop divs已經導致剃刀散亂地記錄了該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; }
}
我打電話給shenanigans!
嘗試更改'x.item'爲'x.Item',我認爲這就是問題 – Equiso
砸我的頭...謝謝你牽着我的手,不能相信我錯過了。 – lazyPower