Renderuję formularz w Asp.net MVC za pomocą przycisku przesyłania. Strona przekierowuje po pomyślnym dodaniu rekordu do bazy danych. Poniżej znajduje się kod: -Unikanie zduplikowanego przesyłania formularzy w Asp.net MVC przez dwukrotne kliknięcie przesłać
[HttpPost]
public ActionResult Create(BrandPicView brandPic)
{
if (ModelState.IsValid)
{
if (!String.IsNullOrEmpty(brandPic.Picture.PictureUrl))
{
Picture picture = new Picture();
picture.PictureUrl = brandPic.Picture.PictureUrl;
db.Pictures.Add(picture);
brandPic.Brand.PictureId = picture.Id;
}
db.Brands.Add(brandPic.Brand);
db.SaveChanges();
return RedirectToAction("Index");
}
return View();
}
Ale podczas testów, widziałem, że jeśli formularz jest znowu i znowu kliknięciu wielokrotne wpisy są przekazywane i zapisywane w bazie danych.
W jaki sposób mogę się upewnić, że jeśli formularz został przesłany jeden raz na serwer, nie zostaną przesłane żadne duplikaty.
To już został poproszony kilka razy wcześniej: http://stackoverflow.com/questions/2324931/duplicate-form-submission-in-spring – Kane
@Kane , +1 i przepraszam. Zawsze sprawdzam, czy pytanie zostało zadane wcześniej, ale być może nadszedł czas na zmianę liczby okularów ;-) ..... –
Możliwy duplikat [Jak zapobiec wielokrotnemu przesyłaniu formularzy w .NET MVC bez używania Javascript?] (https://stackoverflow.com/questions/4250604/how-do-i-prevent-multiple-form-submission-in-net-mvc-without-using-javascript) – KyleMit