c# - 网页上的嵌套 foreach 循环

标签 c# asp.net-mvc-3

我正在从我的 Controller 中的 SQL 数据库表中选择以下数据

            var fixtures = from f in _context.Fixtures
                       where f.MatchDate.Year == year &&
                       (gender.Contains( f.Gender )) &&
                       (type.Contains( f.MatchType )) &&
                       (team.Contains( f.TeamName ))
                       orderby f.TeamName, f.MatchDate
                       select f;

        return View( "DisplayLeagues", fixtures.ToList() );

并调用 DisplayLeagues View 来显示它。从 orderby 可以看出,它包含多个团队。我想在网页上为每个团队显示一个单独的表格。我的页面声明包含

Inherits="System.Web.Mvc.ViewPage<IEnumerable<RLSBCWebSite.Domain.Entities.Fixture>>"

作为模型的声明。为了显示表格的各个行,我有

<% foreach (var item in Model.AsEnumerable()) { %>

但是如何在整个 table 周围添加一个基于团队名称的循环控件?代码好像不行

<% foreach (var team in Model.TeamName ....

最佳答案

类似于:

group g by f.TeamName into tmp
select new {TeamName  = f.Key, Fixtures = tmp.ToList() }

这将为每个团队提供一组,即

foreach(var grp in query) {
    Console.WriteLine(grp.TeamName);
    foreach(var fixture in grp.Fixtures) {
       // write fixture details
    }
}

请注意,这会将每个项目更改为 IGrouping<string, List<Fixture>> ,并注意 ToLookup如果更容易的话,会做一些非常相似的事情。

关于c# - 网页上的嵌套 foreach 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5367901/

相关文章:

c# - Parallel.For with BigInteger 计算输出不同于 For 循环

c# - 位图区域已经锁定,多线程环境

c# - 将 mvc-3 应用程序发布到 Windows Azure 时,图像和插件无法加载

asp.net-mvc-3 - Asp.Net MVC 3 url 中的变量

c# - 不删除事件处理程序会导致 .Net 出现问题吗?

c# - 使用 ApplicationUser 时创建数据库时 MVC5 Entity Framework 代码优先错误

c# - 通用枚举约束

html - @{#if DEBUG} 不起作用

.net - 在 Ajax.Beginform 的 OnComplete 事件函数中接收 JSON 数据

c# - 通过 startDate 运行到 endDate 并将每条记录添加到 DB