方法一:
只在按钮前台代码中增加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)就不会提交。
0
0
相关文章
ASP.NET Core怎么实现用户认证 ASP.NET Core Identity入门方法
c# 为什么推荐使用 asp.net core
asp.net core mvc 和 razor pages 怎么选
Blazor Docker 镜像构建和部署方法
c# 使用 WebApplicationFactory 进行 ASP.NET Core 并发集成测试
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具









