相信大家在用C#做网站的过程种,发现点击button提交时,按钮没有什么变化,是因为后台正在处理数据,但是用户由于不知道,所以就一直点击button,导致后台重复执行。
相信大家都想解决此问题。如果数据没有处理完,等到处理完毕后,才能继续点击!底部附源码下载
方法一:
只在按钮前台代码中增加OnClientClick="this.disabled=true;" UseSubmitBehavior="False"即可。
<asp:Button ID="Button1" runat="server" Text="执行" onclick="Button1_Click" 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) 将不会提交。
完,当然本实例并没有看到停留,因为后台很短时间就已经执行完。所以button才显示为true,希望能帮到大家!
链接: http://pan.baidu.com/s/1nv0LGd7 密码: yma8