怎樣防止ASP.NET按鈕的多次提交_.Net教程
推薦:基于.net 框架的程序設(shè)計(jì).net 平臺構(gòu)成 1 底層操操作系統(tǒng) windows 由于Web服務(wù)和使用Web服務(wù)的應(yīng)用程序仍然運(yùn)行在計(jì)算機(jī)上,而且既然是計(jì)算機(jī)都 要有外設(shè),所以我們?nèi)匀恍枰粋操作系統(tǒng).. Windows添加了Xml支
網(wǎng)上查了很多方法,都不太好使,不如自己寫一個,思路就是把按鈕按下時用Javascript在客戶端把按鈕下一次的onclick事件改為return false; 這樣在服務(wù)器端頁面重新送回客戶端之前,再次點(diǎn)擊按鈕都不會Post到服務(wù)端。同時將按鈕的style改為一行字的樣子,光標(biāo)也變成沙漏狀。當(dāng)服務(wù)端頁面重新產(chǎn)生后Button又會回到初始狀態(tài)。該方法對于F5刷新還不能防范,只是簡單封閉了F5的按鍵,為了防止刷新時再次提交可以在頁面返回前將一些TextBox控件清空,這樣就可以判斷如果該TextBox為空則不再進(jìn)行后續(xù)操作(如寫庫)。 或是后臺操作成功后跳轉(zhuǎn)到另一個頁面以防止惡意刷新。主要是考慮在企業(yè)內(nèi)網(wǎng)使用,不是為了防黑客,所以不是非常嚴(yán)格。
| 以下為引用的內(nèi)容:《br/> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>禁止多次提交網(wǎng)頁測試</title> <style type="text/css"> .disable { border-style:none; border-width: thin; background-color:Transparent; color: #CCCCCC; cursor:wait; } </style> <script type="text/javascript" language="javascript"> function DisableButton() { document.getElementById("Button2").className = "disable"; document.getElementById("Button2").value = '正在提交.'; document.getElementById("Button2").onclick=Function("return false;"); return true; } document.onkeydown=mykeydown; function mykeydown() { if(event.keyCode==116) //屏蔽F5刷新鍵 { window.event.keyCode=0; return false; } } </script> </head> <body> <form id="form1" runat="server"> <div> 輸入一些內(nèi)容<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <br /> <asp:ListBox ID="ListBox1" runat="server" Height="77px" Width="332px"> </asp:ListBox><br /> <asp:Button ID="Button2" runat="server" Text="OK" Width="77px" onclick="Button2_Click" /> </div> </form> </body> </html> |
分享:用SQL語句修復(fù)SQL Server數(shù)據(jù)庫使用數(shù)據(jù)庫的過程中,由于斷電或其他原因,有可能導(dǎo)致數(shù)據(jù)庫出現(xiàn)一些小錯誤,比如檢索某些表特別慢,查詢不到符合條件的數(shù)據(jù)等。 出現(xiàn)這些情況的原因,往往是因?yàn)閿?shù)據(jù)庫有些損壞,或索引不
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實(shí)現(xiàn)分頁示例代碼
- 相關(guān)鏈接:
- 教程說明:
.Net教程-怎樣防止ASP.NET按鈕的多次提交
。