這只是讓我瘋狂。填入cont
的記錄後,記錄更改爲 ,因此每個值都是相同的。該值是最後一條記錄中的值。ASP.NET - Foreach最後一個元素出現在整個列表中
public ActionResult Index()
{
var cont = db.AspNetUsers.ToList();
var list = new List<SelectListItem>();
SelectListItem ctr = new SelectListItem();
foreach (var item in cont)
{
ctr.Text = item.Email;
ctr.Value = item.Email;
list.Add(ctr);
//last iteration everything is fine, every element of list holds
//another value
}
// debugger shows that all list elements have the same text and value
TempData["list"] = list;
return View();
}
謝謝!
您需要爲每個要添加的項目創建一個新的'SelectListItem'。實際上,每次添加都使用* same *'SelectListItem',並且只是在循環的每次迭代中更改屬性。 –
非常感謝! –