方法一:
只在按钮前台代码中增加onclientclick="this.disabled=true;" usesubmitbehavior="false"即可。
方法二:
protected void page_load(object sender, eventargs e)
{
button1.attributes.add("onclick", this.getpostbackeventreference(button1) + ";this.disabled=true;");
}
注:不要写在if (!page.ispostback) 里,否则会脚本错误的。
过程就是单击按钮后将其置为disabled,即this.disabled=true。
虽然过程很简单,但是里面有个小技巧(我以前也不知道),就是button控件里不常用的usesubmitbehavior属性,要使button单击后disabled,并且页面(form)还要提交,就必须把usesubmitbehavior设为false,否则页面(form)将不会提交。
msdn对usesubmitbehavior的解释是:
使用 usesubmitbehavior 属性来指定 button 控件使用客户端浏览器的提交机制还是 asp.net 回发机制。默认情况下,此属性的值为 true,从而导致 button 控件使用浏览器的提交机制。如果指定为 false,则 asp.net 页框架将客户端脚本添加到页面,以将窗体发送到服务器。
当 usesubmitbehavior 属性为 false 时,控件开发人员可以使用 getpostbackeventreference 方法来返回 button 的客户端回发事件。getpostbackeventreference 方法返回的字符串包含客户端函数调用的文本,可以插入到客户端事件处理程序中。
例如
height="30px" onclientclick="this.disabled=true;" usesubmitbehavior="false"/>
当usesubmitbehavior为false时,会在输出的html里看到
__dopostback('issue1$dopublishbutton',''),就是asp.net加上去的。如果usesubmitbehavior为true,就不会有这句话,页面(form)就不会提交。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号