Odświeżanie strony ASP.NET klawiszem F5 a obsługa zdarzeń


(andrzej20) #1

Mam przypisaną metodę obsługi zdarzenia kliknięcia przycisku.

Po kliknięciu przycisku wywoływana jest metoda BtnPrzycisk_Click() w której to jest kod

wstawiający do bazy danych rekord. Tak powinno być.

Kiedy następnie odświeżam stronę poprzez klawisz F5 to ponownie wywoływana jest metoda BtnPrzycisk_Click()

i ponownie wstawiany jest rekord do bazy. A tak nie powinno być.

Jak rozróżnić w kodzie metody BtnPrzycisk_Click() czy metoda ta została wywołana przez kliknięcie czy przez odświeżenie

strony klawiszem F5?


(kowal.luk) #2

pokaż kod, bo dziwnie się zachowuje, nie powinno być problemu, albo umieść projekt


(Tomek Matz) #3

Twój problem nie dotyczy tylko ASP .NET, a tak na prawdę każdej aplikacji web-owej. Tak po prostu działają przeglądarki, że w momencie naciśnięcia przycisku Refresh, powtarzane są czynności, które wykonywałeś przed jego naciśnięciem. Zabezpieczyć się można na kilka sposób. Całkiem ładnie zostało to opisane na tej stronie http://aspalliance.com/687_Preventing_Duplicate_Record_Insertion_on_Page_Refresh.all.