Vermeiden Sie das doppelte Senden von Formularen in Asp.net MVC, indem Sie zweimal auf "Senden" klicken

Ich bin die Darstellung einer form in Asp.net MVC mit einem submit-button. Die Seite leitet nach erfolgreichem Eintrag dazu in der Datenbank. Im folgenden ist der code :-

[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();
}

Aber während des Tests habe ich gesehen, dass, wenn die form angeklickt wird, wieder und wieder, die mehrere Einträge übermittelt und gespeichert in der Datenbank.

Wie kann ich sicherstellen, dass wenn das Formular abgesendet wurde einmal an den server, der dann keine Duplikate eingereicht werden.

InformationsquelleAutor der Frage Pankaj Upadhyay | 2012-01-06

Schreibe einen Kommentar