У меня возникли проблемы с попыткой объяснить, почему пользователь смог отправить те же детали формы дважды, сначала я думал, что кнопка отправки была нажата дважды, это все равно может быть так ,Форма, дважды обработанная с помощью MVC Controller Action
Когда я проверяю результаты в базе данных, я вижу, что одна и та же информация была введена дважды, но также была введена одна и та же метка даты и времени, вплоть до второй. (конечно, для повторной отправки требуется еще одна секунда, если это так)
Кроме того, после того, как опрос вводится и сохраняется, пользователь перенаправляется на другую страницу.
У кого-нибудь есть идеи?
[HttpPost]
public ActionResult InputResult(SurveyViewModel model)
{
if (ModelState.IsValid)
{
Survey_Result InputResult = new Survey_Result();
InputResult.SurveyStatusID = model.SurveyStatusID;
InputResult.Q1DateCompleted = DateTime.Now;
InputResult.Q2 = model.Q2;
InputResult.Q3 = model.Q3;
InputResult.Q10 = model.Q10;
InputResult.Q11 = model.Q11;
InputResult.Q11Other = model.Q11Other;
InputResult.DateAdded = DateTime.Now;
InputResult.AddedBy = Convert.ToInt32(User.Identity.GetUserId());
_surveyService.AddSurvey(InputResult);
_surveyService.Save();
return RedirectToAction("Details", "Survey", new { id = model.SurveyStatusID, feedback = "InputComplete" });
}
return RedirectToAction("Details", "Survey", new { id = model.SurveyStatusID, feedback = "InputError" });
}
Довольно легко нажать кнопку дважды за 1 секунду. – DavidG