【问题标题】:How to remove duplicate entries from model list in razor view如何从剃刀视图中的模型列表中删除重复条目
【发布时间】:2017-11-04 09:29:36
【问题描述】:

我有注册列表,其中包含学生的重复条目,那么我如何在剃刀视图中删除这些重复条目。我知道我可以在 c# 中处理这个问题,但我想在 razor 视图中删除重复的条目。 以下是我的代码:-

  foreach (var stud in Model.Registrations)
                {
                    <text> @registration.Student.FirstName @stud.Student.LastName </text><br />
                }

对此有何声明。是这样的吗:-

       foreach (var stud in Model.Registrations.GroupBy(s => s.Student.ID).Select(g => g.First()))
    {
      // Student Name and ID
    }

以上陈述对我不起作用。执行此操作的代码是什么?

【问题讨论】:

  • 首先推荐在控制器中进行数据操作。以您想要的方式使用具有所有数据设置的 ViewModel。但是,如果您希望上述语句起作用,请尝试在 GroupBy 或 Select 末尾添加一个 .List()。
  • 定义“复制”。如果您的模型将该逻辑封装在 GetHashCodeEquals 覆盖中,那么您可以使用 .Distinct()

标签: c# asp.net-mvc asp.net-mvc-3 razor razor-2


【解决方案1】:
foreach (var stud in Model.Registrations.GroupBy(x => x.Id).Select(y => y.First()).ToList())
  {
     <text> @stud.Student.FirstName @stud.Student.LastName </text><br />
  }

使用任何一个唯一列来获取“GroupBy(x => x.Id)”中的唯一行 这里我使用Id(例如),这样你就不会得到重复的行......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多