我有一个 DbSet 实体 db.Payscales
我的网站上有一个页面,您可以在其中更新薪级表,还有一个页面可让您从下拉菜单中选择薪级表。
更新工资表效果很好,甚至会改变数据库中的值。但是,在下拉列表中,值不会更新。它保留项目构建时的最后一个“已知”值。
解决这个问题的唯一方法是停止调试并再次启动站点(基本上是重建),然后再次启动它。在此之后,这些值在下拉列表中正确显示。
如果我不够彻底,我深表歉意,但这似乎是一个关于实体的一般性问题,而不是代码本身的问题。
为了安全起见,这里是下拉菜单的代码:
DropDownValues.cs
public static List<SelectListItem> GetPayScaleList()
{
List<SelectListItem> ls = new List<SelectListItem>();
ls.Add(new SelectListItem() { Text = "", Value = "" });
foreach (var temp in db.PayScales)
{
ls.Add(new SelectListItem() { Text = temp.Salary + "|" + temp.BaseGross, Value = temp.Salary.ToString() });
}
return ls;
}
以及实际下拉菜单本身的代码:
@Html.DropDownListFor(modelItem => modelItem.teacher.SalaryCode , TeachersProj.Models.DropDropValues.GetPayScaleList())
编辑:
由于要求,这里也是更新方法!
PayScalesController.cs
//
// POST: /PayScales/Edit/5
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(PayScale payscale)
{
if (ModelState.IsValid)
{
db.Entry(payscale).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(payscale);
}
弑天下
阿波罗的战车
相关分类