我有以下代码,它迭代了一系列足球比赛的已签名用户预测列表:
@foreach (var scorecast in Model.Prediction.Scorecasts)
{
<tr>
@*<td><input id="fixtureid" name="fixtureid" type="text" value="@scorecast.Fixture.FixtureID" /></td>*@
<td align="center"><img src="@scorecast.Fixture.HomeTeam.Thumb" style="max-height:30px;max-width:30px;" /></td>
<td class="hidden-xs">@scorecast.Fixture.HomeTeam.Name</td>
<td align="center"><img src="@scorecast.Fixture.AwayTeam.Thumb" style="max-height:30px;max-width:30px;" /></td>
<td class="hidden-xs">@scorecast.Fixture.AwayTeam.Name</td>
<td>@scorecast.HomeGoals - @scorecast.AwayGoals</td>
<td>@Model.AdminPrediction.Scorecasts.ToList()[x].HomeGoals - @Model.AdminPrediction.Scorecasts.ToList()[x].AwayGoals </td>
<td>@Model.GuestPrediction.Scorecasts.ToList()[x].HomeGoals - @Model.GuestPrediction.Scorecasts.ToList()[x].AwayGoals</td>
</tr>
}
正如您将从行中的最后两个看到的那样,我试图调用admin和guest的预测来与用户进行比较,但我不确定如何使用scorecasts列表设置迭代器x对于用户
答案 0 :(得分:0)
应该有几种方法可以设置迭代器。
如果您的Model.AdminPrediction,Model.GuestPrediction,Model.Prediction的长度都相同,则可以使用for(var x = 0; x&lt; Model.Prediction.Scorecast.length; x ++)代替foreach循环
如果它们都是不同的AdminPrediction和GuestPrediction是相同的而且预测不是(正如我从您的代码中假设的那样),您可能想要考虑添加一个共同的idnetifier。我猜这可能是对游戏的预测,所以你可以使用game.id.例如,您将使用:
@ Model.GuestPrediction.Scorecars.ToList()。选择(x =&gt; x.game.id == scorecast.game.id).First() @ Model.AdminPrediction.Scorecars.ToList()。选择(x =&gt; x.game.id == scorecast.game.id).First()
如果这些都不起作用,请告诉我。