2010-12-10 25 views
0

Ich habe eine Webseite mit Formular und eine Schaltfläche. Durch Klicken auf die Schaltfläche fügt/aktualisiert Daten in SQL Server. Die Schaltfläche ist deaktiviert, sobald es geklickt .Ich war beim Testen .But in Ordnung Produktion fügt manchmal DATA zweimal ein. Ich bin nicht sicher, warum es so macht. Bitte lassen Sie mich wissen, was schief geht ??Asp.net Daten einfügen in sqlserver

Grüße, Ravi

+0

Ich habe ein Auto, wenn ich die Bremsen bremse bremse. Manchmal bremst es zu schnell. Bitte lass mich wissen, was los ist ??? – Andrey

+0

Sorry, konnte es nicht behalten :) Kannst du noch mehr Details geben? – Andrey

+0

lol .. Entschuldigung für mein Englisch – SRK

Antwort

0

jemand könnte leicht einfach F5 drücken, während Ihr Formular einreicht. Noch schlimmer - wenn Sie nach dem Senden nicht weiterleiten, kann jemand F5 drücken, nachdem das Formular fertig ist.

Eine Möglichkeit, das zu umgehen, besteht darin, ein Guid-Token zu Ihrem Formular hinzuzufügen (jedes Mal, wenn das Formular neu geladen wird). Beim POST speichern Sie dieses Token in der Tabelle, in die Sie die Daten einfügen. Zuvor überprüfen Sie natürlich, ob Ihre Tabelle bereits vorhanden ist und wenn ja - aktualisieren Sie die Datensätze, anstatt die neue einzufügen, oder leiten Sie einfach auf die Ergebnisseite um.

0

Ravi, können Sie Ihre Routine zweimal anrufen. Hast du das untersucht?

verwenden:

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=asp.net+inserts+data+twice

Keine Handlung von der Suche bestimmt. Ich präsentiere es nur, weil so viele das so erlebt haben, dass Sie eine gute Antwort bekommen sollten, nachdem Sie Ihren Code sorgfältig untersucht haben.

Sie müssen den Code einfügen oder sagen, wie Sie es tun, wenn Sie eine genauere Antwort möchten.

0

Versuchen Sie das Post-Redirect-Get-Muster zu verwenden, das das Problem beim Einfügen von Daten zweimal löst. Wenn der Browser eine Postanforderung zum Aktualisieren/Einfügen/Ändern von Aktionen an den Server sendet und anschließend die Antwort nach diesen Aktionen zurückgibt, wird durch Drücken der Taste f5 die vorherige Anforderung erneut an den Server gesendet, und die Aktionen werden erneut ausgeführt.

Es kann auch Ergebnis von Doppelklick auf die Schaltfläche sein, die Anfrage zum Einfügen von Daten sendet. Vielleicht müssen Sie prüfen, ob bereits Daten vorhanden sind, die eingefügt werden müssen.

Hoffnung werden Sie die Antwort auf Ihre Frage finden.

Mit freundlichen Grüßen, Dima.

+0

ja das ist, was ich jetzt mache ... danke – SRK

Verwandte Themen