ASP.NET 多次提交的解决办法2
发布时间:2020-03-14 11:31:11 所属栏目:Asp教程 来源:站长网
导读:对“添加”、“提交”、“保存”、“更新”等按钮需要对数据库进行写操作的按钮,一定要在页面初始化时加载脚本,防止多次重复点击
例如: protected void Page_Load(object sender, EventArgs e) { //.net1.1 Button1.Attributes.Add("onclick", "this.disabled=true;" + this.GetPostBackEventReference(this.Button1)); //.net 2.0以上 Button1.Attributes.Add("onclick", "this.disabled=true;" + this.ClientScript.GetPostBackEventReference(Button1, "")); } 为了测试,我们可以建立一个页面,加入一个btnAdd按钮 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AddAndEditUser.aspx.cs" Inherits="AddUser" %><html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>添加和编辑页面示例</title> </head> <body> <form runat="server"> <asp:Button runat="server" CssClass="INPUT-BUTTON-Save"> </asp:Button> </form> </body> </html> /*---------------------------------------------------------------- using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class AddUser : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { btnAdd.Attributes.Add("onclick", "this.disabled=true;" + this.ClientScript.GetPostBackEventReference(btnAdd, "")); } protected void btnAdd_Click(object sender, EventArgs e) { //模拟网络拥塞5秒钟 System.Threading.Thread.Sleep(5000); } } 可见当点击了按钮,需要等5秒钟按钮才能点击。即页面回发一后按钮才能用。这样可以有效的防止用户多次点击按钮,造成多次提交! (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |