在 asp.net mvc razor 中同时使用 2 个 foreach

Using 2 foreach in the same time in asp.net mvc razor

我想同时执行2个foreach循环。我试过:

@foreach (var item in ViewBag.historiques) && foreach (var elt in ViewBag.statuts)
                        { .... @item  => @elt .......
}

但这没有用。可能吗?

如果您愿意为它们提供类型值,您可以使用 Linq's Zip method:

@{
    var historiques = ViewBag.historiques as List<Historique>;
    var statuts = ViewBag.statuts as List<Statut>;
    var resultats = historiques.Zip(statuts, (item, elt) => new { item = item, elt = elt });
}

@foreach (var resultat in resultats)
{
    <div>@resultat.item</div>
    <div>@resultat.elt </div>
}

也就是说,我建议创建一个 ViewModel 并在其中构建您需要的内容,而不是使用 ViewBag。