我对自己启动asp.net mvc项目非常陌生。创建工作已经完成,但是我仍然无法进行编辑工作
这是我的DAL码
public class DonationContext:DbContext
{
public DbSet<DonorModel> DonorModel { get; set; }
}
这是我的控制器代码
private DonationContext dc = new DonationContext();
public ActionResult Edit()
{
return View();
}
[HttpPost]
public ActionResult Edit(int id)
{
if (ModelState.IsValid)
{
dc.DonorModel.Add(donorModel);
dc.SaveChanges();
return RedirectToAction("Index");
}
return View(donorModel);
}
答案 0 :(得分:1)
您可能需要attach或将EntityStates设置为起作用。在某些情况下,我还需要关闭EntityFramework的Validation,但您可能会注意到这种情况。
通常,只要您的DbContext能够按预期工作(如果您不确定,请设置调试器并立即进行调试),您就能完成 的工作,但是值得射击。
答案 1 :(得分:0)
您可以像下面的代码一样使用[HttpPost]
编辑。当前,您正在将数据添加到数据库中。因此,要更新记录,您需要使用Attach
或EntityStates
。
[HttpPost]
public ActionResult Edit(DonorModel donorModel)
{
if (ModelState.IsValid)
{
dc.Entry(donorModel).State = System.Data.Entity.EntityState.Modified;
dc.SaveChanges();
return RedirectToAction("Index");
}
return View(donorModel);
}