c# – 单击后禁用Button,同时保持CausesValidation和OnClick-Met
发布时间:2020-12-16 01:50:00 所属栏目:百科 来源:网络整理
导读:所以我有这个按钮: asp:Button runat="server" ID="btnSubmit" meta:resourcekey="btnSubmit" CausesValidation="true" OnClick="btnSubmit_Click" / meta:resourcekey用于本地化资源,这里不关心我们 – 因为我们可以看到它有一个OnClick-Method并导致验证
所以我有这个按钮:
<asp:Button runat="server" ID="btnSubmit" meta:resourcekey="btnSubmit" CausesValidation="true" OnClick="btnSubmit_Click" /> meta:resourcekey用于本地化资源,这里不关心我们 – 因为我们可以看到它有一个OnClick-Method并导致验证. 这也很好,但我想在用户点击它之后禁用该按钮,这样他/她在PostBack成功之前就不能多次点击它,所以这就是我在Page_Load中所做的: btnSubmit.Attributes.Add("onclick","this.disabled=true;" + Page.ClientScript.GetPostBackEventReference(btnSubmit,"").ToString()); onclick我正在禁用该按钮并重新添加OnClick-Method所需的PostBackReference. 问题:CauseValidation消失了,悲伤.我将如何在CodeBehind中重新添加它或者 – 这是一个完全不同的解决方案? 我的按钮必须: a)单击后禁用自身,但在回发后启用 谢谢, 丹尼斯 解决方法
只需覆盖ur页面或母版页的Onload事件
protected override void OnLoad(EventArgs e) { base.OnLoad(e); // prevents form from being submitted multiple times in MOST cases // programatic client-side calls to __doPostBack() can bypass this Page.ClientScript.RegisterOnSubmitStatement(GetType(),"ServerForm","if (this.submitted) return false; this.submitted = true; return true;"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |