为了防止用户提交后再次点击按钮,在Page_Load里面写了如下代码:
protected void Page_Load(object sender, EventArgs e)
{
this.BTN_Submit.Attributes.Add("onclick", "this.disabled=true;" + this.ClientScript.GetPostBackEventReference(BTN_Submit, ""));
这样提交后按钮被暂时禁用了,问题是页面里的验证控件都不起作用了?这个问题好像一直没有解决,今天又碰到了,asp.net都出来这么久了,我想应该有更好方式处理这个问题吧?如果解决方式是利用session判断和数据库对记录就免了。
<asp:Button ID="btnVerifyCode" runat="server" OnClick="btnVerifyCode_Click"
OnClientClick="this.value='请等待…';this.disabled=true;"
UseSubmitBehavior="false" CssClass="buttoncss_bg_bs" Text="确认提交" />
能否用按钮的enable=False来做呢?
能否用按钮的enable=False来做呢?
------------------------------------------------
如果网速慢的话,按钮还是可以点击的。
LZ可能是想按钮只能点击一次。
这个还真不好解决。我也碰到这个问题,主要原因是你要用这个,必须在页面设置一个属性,这个属性会使你的验证控件失效。我的解决方式就是不在用服务端的验证控件,
直接用js来验证,在OnClientClick 中用用一个js方法验证。
点击后display:none 代替他的显示一条文字
用js实现
试试这个:
方案一:投机一下:
做两个按钮,一个A触发js事件,另一个B触发后台事件(display=none),
点击A使得A disable,然后用js点击B,类似于ButtonB_Click(sender,e);就可以搞定。
方案二:
http://www.cnblogs.com/jinglecat/archive/2007/07/10/811946.html
如果提交失败你这方法 如何处理!
应该在提交成功之后 设置Enable="false"吧
我可能没明白你的问题!