【问题标题】:Using 2 foreach in the same time in asp.net mvc razor在asp.net mvc razor中同时使用2个foreach
【发布时间】:2016-05-18 13:57:24
【问题描述】:

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

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

但这没有用。是否可以?

【问题讨论】:

  • 你是指嵌套循环还是异步执行循环?!
  • historiquesstatuts 的长度相同吗?如果是,您可以尝试for(int i = 0; i <= ViewBag.historiques.Length; i++) { /*..*/ }..
  • 不,它们的长度不同,historiques 是一个对象列表,而 statuts 是一个字符串列表
  • 您需要什么?你需要做什么?
  • 我想显示 historique 的所有属性,并且对于我想要影响状态的每一行

标签: asp.net-mvc foreach razor-2


【解决方案1】:

如果你愿意给他们类型值,你可以使用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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    相关资源
    最近更新 更多