所以我试图在我正在使用的数据库表中添加一个新的信息行,目前它有时会将 2-5-7 行的相同信息添加到数据库中,但具有不同的 ID。
我试图通过该过程进行调试,但我不明白为什么 ActionResult 会运行多次并将相同的信息添加到 7(!)次。
当我单击添加按钮时,它开始加载下一页并将值添加到数据库中。问题是,在单击添加按钮后大约 5-6 秒后,它再次返回控制器并再次执行相同的过程,导致随机数的 2-5-7 行添加相同的值但不同的 id。
我正在使用带有编辑器字段和下拉列表的简单视图来选择国家,并将其发布到将值添加到数据库中的 ActionResult。
ActionResult 如下所示:
[HttpPost]
public ActionResult AddNewsdesk(AddNewsdeskViewModel addNewsdesk)
{
if (ModelState.IsValid)
{
var newsdesk = Mapper.Map<AddNewsdeskViewModel, Newsdesk>(addNewsdesk);
newsdesk.Country = _databaseContext.Countries.Single(c => c.Name.Equals(addNewsdesk.Country));
newsdesk.Id = new Guid();
_databaseContext.Add(newsdesk);
_databaseContext.SaveChanges();
return RedirectToAction("Index", "Newsdesk");
}
return RedirectToAction("Index", "Home");
}