日期:2014-05-16  浏览次数:20386 次

刷新重复提交问题。
 <asp:Button ID="Button1" OnClientClick="return true" runat="server" Text="Button" OnClick="Button1_Click" />


 OnClientClick="return true"时disabled = true,没法执行OnClick="Button1_Click"后台问题
------解决方案--------------------
引用:
 <asp:Button ID="Button1" OnClientClick="return true" runat="server" Text="Button" OnClick="Button1_Click" />


 OnClientClick="return true"时disabled = true,没法执行OnClick="Button1_Click"后台问题

OnClientClick="return true"提交表单通过的同时disabled = true
你将按钮禁用,当然就提交不了,也就不会执行按钮的单击事件了。
------解决方案--------------------
后台方法执行完再在后台禁用,或者做个等待效果。
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

 <asp:Button ID="Button1" OnClientClick="return true" runat="server" Text="Button" OnClick="Button1_Click" />


 OnClientClick="return true"时disabled = true,没法执行OnClick="Button1_Click"后台问题

OnClientClick="return true"提交表单通过的同时disabled = true
你将按钮禁用,当然就提交不了,也就不会执行按钮的单击事件了。
我是想知道有什么解决办法

提交后,Redirect一下就可以了。
------解决方案--------------------
你在Button1_Click的事件中一开始就去disable!不要放在OnClientClick的JS函数中去执行这个!!!
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

 <asp:Button ID="Button1" OnClientClick="return true" runat="server" Text="Button" OnClick="Button1_Click" />


 OnClientClick="return true"时disabled = true,没法执行OnClick="Button1_Click"后台问题

OnClientClick="return true"提交表单通过的同时disabled = true
你将按钮禁用,当然就提交不了,也就不会执行按钮的单击事件了。
我是想知道有什么解决办法

提交后,Redirect一下就可以了。
这个效果不好,我想js那样提交禁用效果


那么你可一试试这样,
服务端,定义变量,protected string isSubmit = "true";
OnClientClick = "return <%= isSubmit%>"
提交之后,修改变量
isSubmit = "false";
------解决方案--------------------
引用:
不行啊 

怎么不行了。
------解决方案--------------------
前台和后台的代码最好不要一起使用
------解决方案--------------------
你可以在onclick事件的最后加上禁用的代码。这种最好吧
------解决方案--------------------
行之有效的方法就是提交完毕立马转向列表页

也许你可以考虑 ajax 向后台提交数据,开始提交前,设置为不可用,在成功回调中,将按钮解锁

另外,你的后台应该有所判断,即便是数据重复提交了,那么应该以哪些字段为准做查重处理
------解决方案--------------------

在pageload中:btn_Pass.Attributes.Add("onclick", "this.value='提交中…';" + disableString());
 
/// <summary>
 /// 返回禁用所有按钮的js代码
/// </summary>
 /// <returns></returns>
 private&nb