asp.net程序中的按钮被单击多次,但只执行一次怎么实现?

syf1125 2011-06-22 10:10:29
是这样的,我的asp.net程序中有一个确定按钮,当程序非常慢的时候,客户就会不停的点,导致这个确定按钮执行多了,怎么能让客户单击多次但只执行一次呢?
...全文
444 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yujiexiaoyu 2011-06-22
  • 打赏
  • 举报
回复

//首先在<%@ Page %>中添加EnableEventValidation="false".
//btnOK是提交按钮的ID,在Page_Load事件中添加回调方法.btnOK_Click就是提交后要实现的服务端代码.
// 整体的实现过程还是比较简单的.使按钮不可用并回调服务端事件


public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.Button1.Attributes.Add("onclick", ClientScript.GetPostBackEventReference(Button1, "Click") + ";this.Disabled=true; this.value='提交中...';");
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "提交成功!";
System.Threading.Thread.Sleep(2000);
ClientScript.RegisterStartupScript(GetType(), "btnCommit", "alert('提交成功!!!');", true);

}
}

confidenceyu 2011-06-22
  • 打赏
  • 举报
回复
页面没有加载完全时,禁用这个按钮不触发事件
kk706 2011-06-22
  • 打赏
  • 举报
回复
弹出一个遮罩层,显示正在执行,请等待。。。。。,执行完毕撤销遮罩。
xl597576226 2011-06-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 daifei4451 的回复:]
设置一个bool变量 当执行完的时候 改变状态 然后客户点击的时候 你去判断一下状态就可以了
[/Quote]
这个方法可以
游戏人间 2011-06-22
  • 打赏
  • 举报
回复
在按钮事件中最前面加

btn.Enable=False;

业务执行....

最后面加

btn.Enable=True;
syf1125 2011-06-22
  • 打赏
  • 举报
回复
其实我已经加了这个了: OnClientClick="document.getElementById('ctl00$MainContent$btnAgreen').style.display = 'none';return confirm('您确定同意该审批表吗?');" 意思是单击后隐藏这个按钮,但不知道怎么回事,客户还是还是能点多次,因为我看到数据库里写了2条相同的记录。
lvjianwu 2011-06-22
  • 打赏
  • 举报
回复
你可以使用js 先将它 变灰 防止都次点击 然后 可以在js进行判断的。 我以前都是这么做的 至于后台也要2次验证判断是否程序正在执行
threenewbee 2011-06-22
  • 打赏
  • 举报
回复
程序非常慢是你的错,你应该提供等待交互。
chenhongjun0624 2011-06-22
  • 打赏
  • 举报
回复
加个clickcount进行判断
chenhongjun0624 2011-06-22
  • 打赏
  • 举报
回复
加个clickcount进行判断
子夜__ 2011-06-22
  • 打赏
  • 举报
回复
点击按钮一次 禁用5秒。

btn.Enable=false

daifei4451 2011-06-22
  • 打赏
  • 举报
回复
设置一个bool变量 当执行完的时候 改变状态 然后客户点击的时候 你去判断一下状态就可以了

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧