从 MVC 4 中的列表中删除重复项

本文关键字:删除 MVC 列表 | 更新日期: 2023-09-27 18:33:18

这是我的代码,用于将数据库中的数据显示为下拉列表。我正在寻找一种删除重复项的方法,以便只显示每个重复项的一个实例。有人知道一个简单的方法吗?

@model IEnumerable<bookingsMVC.Models.member>
<select id="myTown">
 @foreach (var item in Model)
 {
  <option id="@Html.DisplayFor(model => item.town)" value="@Html.DisplayFor(model => item.town)"> @Html.DisplayFor(model => item.town)</option>

 }
</select>

型:

namespace bookingsMVC.Models
{
public class member
{
    public int ID { get; set; }
    public string username { get; set; }
    public string fname { get; set; }
    public string lname { get; set; }
    public string address1 { get; set; }
    public string address2 { get; set; }
    public string town { get; set; }
    public string postcode { get; set; }
    public string phone { get; set; }
    public string email { get; set; }     
    public string password { get; set; }
    public string memcat { get; set; }
    public string Admin { get; set; }
}
}

从 MVC 4 中的列表中删除重复项

通常,若要保留完整的Item对象,可以将GroupByFirst()一起使用,以检索每个组中的第一个:

@foreach (var item in Model.GroupBy(m => m.town).Select(g => g.First()))
...

您可能希望在控制器中执行此操作,并在那里按不同的城镇管理实际过滤,这样您就可以简单地将具有不同城镇值的列表传递给您的视图模型