0

我对自己开始一个 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);
}
4

2 回答 2

1

您可能需要附加它或设置EntityStates才能使其工作。我还看到了一些需要关闭 EntityFramework 验证的情况,但如果是这种情况,您可能会注意到。

通常,只要您的 DbContext 按预期工作(如果您不确定,请设置调试器并立即通过它),您所得到的应该可以工作,但值得一试。

于 2018-07-16T07:51:52.857 回答
0

您可以在[HttpPost]下面的代码中使用您的编辑。目前,您正在将数据添加到数据库中。因此,要更新记录,您需要使用AttachEntityStates

[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);
}
于 2018-07-29T11:00:08.630 回答