讀了城南的部落格中的《遮蔽重新整理提交後台》一文之後,對於解決遮蔽重複提交表單有了更好的認識。
對於重複提交表單個人覺得有以下解決方案:
1、利用ajax提交,這樣的自然而然的不會再涉及到重複提交表單。
2、利用前後臺標記,判斷是否是重複提交-----------也就是城南部落格中的方法。
個人學習了城南部落格中的方法,加以自己的理解,做了下修改。
主要是的思想是:
自己寫乙個類,去繼承system.web.ui.page類,在此類中對page類擴充套件。即:在頁面下render到頁面時,傳送乙個到頁面的hide控制項並增加乙個session。當再次訪問時判斷發回的控制項的值和session值是否一致,從而確定當前操作是否是有重新整理導致的提交。
usingsystem;
using
system.collections.generic;
using
system.linq;
using
system.web;
//////
basepage 的摘要說明
///public
class
basepage:system.web.ui.page
//////
同步頁面和後台session的票據
/// private
void
synchrorefreshticket()
//////
比較hiddenfield的票據和session中儲存的票據是否相同,如果不相同則為通過重新整理的方式進行的提交
/// protected
bool
isrefreshed
else
}return
false
; }}}
usingsystem;
using
system.collections.generic;
using
system.linq;
using
system.web;
using
system.web.ui;
using
system.web.ui.webcontrols;
public
partial
class _default :basepage //
繼承自己寫的類
protected
void button1_click(object
sender, eventargs e)
else}}
c#" autoeventwireup="true
" codefile="
default.aspx.cs
" inherits="
_default
" %>
"-//w3c//dtd xhtml 1.0 transitional//en""
">
"">
遮蔽重複提交表單
讀了城南的部落格中的 遮蔽重新整理提交後台 一文之後,對於解決遮蔽重複提交表單有了更好的認識。對於重複提交表單個人覺得有以下解決方案 1 利用ajax提交,這樣的自然而然的不會再涉及到重複提交表單。2 利用前後臺標記,判斷是否是重複提交 也就是城南部落格中的方法。個人學習了城南部落格中的方法,加以自...
表單重複提交
1.session token的方式 當表單載入時候,前端向伺服器申請乙個token,同時,伺服器將token放在session中。當提交表單時候,引數中帶著token,伺服器校驗token,如果相同則放行,同時清除session。如果不同,則說明重複提交。需要注意的是,如果請求返回了,或者重新整理...
防止表單重複提交
新增乙個使用者時,發現重複新增了4 5個,原來是重複提交了。怎麼解決這個問題呢,起初是在後端檢查新增的屬性是否已有,例如姓名和手機號是否重複,如果重複就不儲存,沒想到後來隨著業務的複雜化,新增乙個使用者所需時間越來越長,以致在檢查時還沒插入完畢。那就在提交時就關閉form,可是這樣一來,如果後端檢查...