您的位置:首页 > 编程语言 > ASP

asp.net关于WEB端用户重复提交问题。禁用服务器控件按钮问题。

2011-08-23 17:20 766 查看
之前也经常遇到这种问题。但是没有去刻意研究并解决。也知道有很多解决方案。但是都没有去亲自实现。直到现在工作中出现这个棘手问题,才去寻找各种解决方案并研究。

还好网上有很多前辈的经验。现在问题算是解决了。因此做个笔记以防后面还会遇到此种问题。虽然这个解决方法不一定很好,但是还是可以实现的。

点击一个按钮,只让此按钮的事件执行一次,防止用户多次点击,造成多次提交数据。因为此事件的方法执行需要一段时间,如果多次点击会出现连接超时的情况。我的解决方案是点击之后禁用这个按钮,执行完方法后启用。本以为直接设置Enabled就行了,但是这样设置后,事件直接不会执行。因为是服务器空间。其实用js也可以控制。所以现在解决如下。

protected void Page_Load(object sender, EventArgs e)

{

this.report_output.Attributes["onclick"] = this.GetPostBackEventReference(this.report_output) + ";this.disabled=true;";

this.data_output.Attributes["onclick"] = this.GetPostBackEventReference(this.data_output) + ";this.disabled=true;";

this.message.Text = "";

}

在事件方法执行后,执行以下代码

this.report_output.Style.Remove("disabled");

this.data_output.Style.Remove("disabled");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: