【问题标题】:Update function just keeps creating instead更新功能只是继续创建
【发布时间】:2022-11-26 04:25:24
【问题描述】:
public IActionResult Edit(int? id)
{
        if (id == null || id == 0)
        {
            return NotFound();
        }

        var categoryFromDb = _db.Festivals.Find(id);

        if (categoryFromDb == null)
        {
            return NotFound();
        }

        return View(categoryFromDb);
}

// POST
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Edit(Festival obj)
{
        if (obj.Naam == obj.Plaats)
        {
            ModelState.AddModelError("CustomError", "The DisplayOrder cannot exactly match the Name.");
        }

        if (ModelState.IsValid)
        {
            _db.Festivals.Update(obj);
            _db.SaveChanges();

            return RedirectToAction("Index");
        }

        return View(obj);
}

我尝试撤消我的工作,因为它以前工作过,之后我还向同一个数据库添加了第二次迁移,我不知道这是否是问题所在

【问题讨论】:

  • 你能告诉我们Festival 类以及如何将你的Id 属性(或FestivalId 属性)设置为主键吗?否则,我看不出有什么异常。
  • public IActionResult Edit(Festival obj)obj.Id 属性中是否有 0 或 null 以外的值?
  • 嗨@Bolts,如果您在没有主键的情况下传递 obj ,它将创建而不是更新,但是您说过它以前有效,对吗?你的第二次迁移是什么?与第一次迁移相比,您的变化是什么?

标签: c# asp.net-core-mvc


【解决方案1】:

谢谢你们的回应,但我和我的老师一起解决了。我只是没有把我的主键放在我的更新表单中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 2012-12-08
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    相关资源
    最近更新 更多