| 实例讲解asp.net防止按钮多次提交问题 |
| 来源:
发布时间:2008-07-22 发布人:
浏览:
人次
字体:
[大
中
小]
|
|
直接说说思路的实现方法:在asp.net中当把按钮按下时用Javascript在客户端把按钮下一次的onclick事件改为return false; 这样在服务器端页面重新送回客户端之前,再次点击按钮都不会Post到服务端。同时将按钮的style改为一行字的样子,光标也变成沙漏状。当服务端页面重新产生后Button又会回到初始状态。该方法对于F5刷新还不能防范,只是简单封闭了F5的按键,为了防止刷新时再次提交可以在页面返回前将一些TextBox控件清空,这样就可以判断如果该TextBox为空则不再进行后续操作(如写库)。 或是后台操作成功后跳转到另一个页面以防止恶意刷新。主要是考虑在企业内网使用,不是为了防黑客,所以不是非常严格。 1<html xmlns="http://www.w3.org/1999/xhtml"> 2<head runat="server"> 3 <title>IT知道网教您禁止多次提交网页测试</title> 4 <style type="text/css"> 5 .disable 6 {}{ 7 border-style:none; 8 border-width: thin; 9 background-color:Transparent; 10 color: #CCCCCC; 11 cursor:wait; 12 } 13 </style> 14 <script type="text/javascript" language="javascript"> 15 function DisableButton() 16 { 17 document.getElementById("Button2").className = "disable"; 18 document.getElementById("Button2").value = '正在提交.'; 19 document.getElementById("Button2").onclick=Function("return false;"); 20 return true; 21 } 22 document.onkeydown=mykeydown; 23 function mykeydown() 24 { 25 if(event.keyCode==116) //屏蔽F5刷新键 26 { 27 window.event.keyCode=0; 28 return false; 29 } 30 } 31 </script> 32 33</head> 34<body> 35 <form id="form1" runat="server"> 36 <div> 37 输入一些内容<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 38 <br /> 39 <asp:ListBox ID="ListBox1" runat="server" Height="77px" Width="332px"> 40 </asp:ListBox><br /> 41 <asp:Button ID="Button2" runat="server" Text="OK" Width="77px" 42 onclick="Button2_Click" /> 43 </div> 44 45 </form> 46</body> 47</html>
共2页: 上一页 1 [2] 下一页
| |
| |
|
↓下一篇:没有了
|
|
|
| §最新评论:(评论内容只代表网友观点,与本站立场无关!) | |
|
|
|
|
| 注意:请勿在本站发布政治话题、色情及违反法律的内容。 |
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。 |