[英]Distinct in dropdown list in asp.net mvc 5
如何從下拉列表中刪除重復記錄,這對我來說很好,但由於數據庫中具有相同的名稱,但我想刪除多個記錄,所以我獲得的記錄超過兩個。
public ActionResult Index()
{
List<OrbatTable> CountryList = db.OrbatTables.ToList();
ViewBag.CountryList = new SelectList(CountryList, "CityName", "CityName");
return View();
}
public JsonResult GetStateList(String CityName)
{
db.Configuration.ProxyCreationEnabled = false;
List<OrbatTable> StateList = db.OrbatTables.Where(x => x.CityName == CityName)
.Distinct().ToList();
return Json(StateList, JsonRequestBehavior.AllowGet);
}
這是我的下拉列表代碼
@if (ViewBag.CountryList != null)
{
@Html.DropDownListFor(model => model.CityName, ViewBag.CountryList as SelectList,
"--Select City", new { @class = "form-control" })
}
GroupBy可以在這里使用。
List<OrbatTable> StateList = db.OrbatTables.GroupBy(x => x.CityName == CityName)
.Select(x =>x.First()).ToList();
如果我了解您的目標是,有兩種選擇:
(每個選項都是對GetStateList方法主體的建議編輯)
要緊貼您當前正在執行的操作,可以嘗試一種巧妙的DistinctBy方法
您可以創建一個空的目標列表,然后遍歷您的源列表,僅當每個項目不在目標列表中時,才將其添加到目標列表中
(我剛才已經發表評論,但是我的聲譽還不夠高。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.