Verhindern Doppel-Einreichen / Veröffentlichen auf ASP.NET MVC Seite

Ich hoffe auf einige Rückmeldungen über die Methode, die ich verwenden möchten, für die Verhinderung von doppelten Datensätzen in einer ASP.NET MVC 4-Anwendung und der Domino-Effekte habe ich nicht, obwohl für die Benutzer Erfahrung.

Dem web-Formular hat sechs Eingabefelder und eine Schaltfläche "speichern" (ebenso wie eine Abbrechen-Schaltfläche), können die Benutzer bis zu 10 Minuten dauern Füllung in die form geben.

Nachdem die Felder eingereicht werden per post wird die Seite umgeleitet auf Erfolg /Misserfolg auf eine andere Seite, nachdem die Daten werden in einer Datenbank-Tabelle mit einer neuen Guid als Primärschlüssel.

Stoppen der Benutzer den speichern button drücken, viele Male, aber so dass der browser umbuchen Antrag auf eine geschlossene Verbindung, die ich anbieten will die Guid für neue Datensätze, Primärschlüssel als hidden-input-Feld, wenn das Formular wiedergegeben wird.

Wenn das umbuchen passiert, oder drückt der Benutzer speichern Sie mehrere Zeiten, die Datenbank-server weisen Sie den zweiten post des Datensatzes, weil ein doppelter Schlüssel, die ich überprüfen kann und fertig mit der server-Seite.

Aber diese neue, größere Probleme für mich?

  • Was ist das problem?
  • Das einzige mal, es gibt ein problem mit dem setzen der Primärschlüssel-Id in ein hidden-field ist, dass der Nutzer direkt in dieses Feld und ändern Sie den Primärschlüssel und aktualisieren jeden Datensatz in der Datenbank. nun, da Sie die Guid 's werden es fast unmöglich zu erraten Guid' s, die bereits ben verwendet und gehen in ein update über die bisherigen Benutzer der Formulare , wenn Sie eine ganze Zahl, dann würde ich, so es ist eine schlechte Idee
  • Haben Sie Bootstrap? Weil es automatisch disabvles den button einmal geklickt hat und wenn nicht, die jquery oder einige loader-oder ausblenden der button einmal geklickt, bis u erhalten Antwort für den post-request'
  • Derzeit, ohne diese neuen Sätze wurden wiederholt, bis zu sieben mal, wenn Kunden die Netze ausgelastet sind und die Benutzer erwarten eine schnellere Reaktion.
  • Ich begann, deaktivieren Sie die Schaltfläche speichern, aber von Zeit zu Zeit es der Benutzer Sie ohne Weg. Die form war stuck, der server hatte keine post, und Sie müssen erneut alles. Das problem ist, dass der browser weiß nie, wenn der server nicht die POST oder, dass der browser nicht die Antwort.
  • Möglich, Duplikat der Wie kann ich verhindern, dass mehrere Formular-Vorlage .NET MVC, ohne Javascript zu verwenden?

InformationsquelleAutor Old fart | 2015-01-13
Schreibe einen Kommentar