關於頁面重新整理,事件重複提交的方法分享

2022-09-27 04:30:12 字數 754 閱讀 3509

瀏覽器的重新整理是指重複上一次向伺服器傳送的請求,而asp.net的伺服器控制項的事件都是通過postback機制向伺服器傳送請求的。所以,當你點選提交按鈕後再重新整理,實際上是把提交按鈕的postb請求又傳送了一次。www.cppcns.com而asp.net應用伺服器是無法區別這是正常點選按鈕新增還是f5重新整理新增(這涉及到頁面生命週期。。。),那麼這樣就會導致在資料庫裡會存在n 條一模一樣的資料。

在解決這個問題的過程中,嘗試了一下幾種方法:

(1)在事件提交後,將其中的引數置空,使得程式在執行過程中,因為沒有引數而不會做業務處理。這種處理方法沒有效果,因為伺服器執行的是上一次請求的事件,事件提交後,改變引數沒有任何意義。

(2)在事件提交後,將頁面進行重定向到當前頁面(respbxrhuonse.redirect( "/basedata/pictureadd.aspx" , true);)。因為每個頁面都具有自己的生命週期,進行重定向後,即結束了當前頁面操作。這種方法可行!

為什麼在原asp開發程式中不會碰到這樣的問題呢?我覺得是因為asp程式主要都是將表單提交給另外乙個頁面處理,並且,這個頁面處理之後,將跳轉到另外乙個提示頁面。那麼在asp程式中,只需要在回退時將頁面設定為過期那麼就可以有效的避免重複提交的問題。但是在asp.net中,基本上所有的操作都是基於事件操作,而事件的本質上就是頁面自己提交給自己,並且頁面無法識別提交時正常操作還是重複重新整理。

本文標題: 關於頁面重新整理,事件重複提交的方法分享

本文位址: /wangluo/xiangguanjiqiao/89540.html

php 防止頁面重新整理重複提交

一.使用session防止重複提交 其實跟驗證碼一樣的原理,主要是生成session和input隱藏域,這邊我的 是在乙個頁面中處理。header content type text html charset utf 8 頁面編碼 session start 開啟session if isset p...

thinkphp 解決頁面重新整理表單重複提交的問題

控制器中 session start code mt rand 0,1000000 session code code this assign code code 注 該段 應在表單提交判斷的後面 往html中傳乙個session隨機數,並把該隨機數用隱藏input框的形式傳值 html頁面中 ty...

關於addpage,頁面無重新整理的提交

今天在框架裡吧addpage挖了出來。貌似就是 servlet 的forward 但是還是沒看明白。看了這個,突然發現自己的基礎知識真的還薄弱啊,怪不得總是進步不了。其實1,自己沒有花多少時間在學習。2 自己的基礎實在是太混亂,太淺薄了。學習吧,少年。貼一下吧,省的又忘記了,可以回過來看看。over...