点击Insert
- 按钮时,它可以执行任何其他操作。但我不希望用户能够多次点击该按钮,因此我想在按下它后将其禁用。
<asp:Button ID="Insert" runat="server" Text="Send" OnClick="Insert_OnClick"
OnClientClick="this.disabled=true; showLoading(this);" />
合并Insert_OnClick
和&#34; disable
&#34;时,函数Insert_OnClick
不会运行,因为它会以某种方式首先禁用按钮,因此代码隐藏功能不会因为这个原因。
我还试图在showLoading
js-function中禁用自己按钮,同样的行为。
任何想法如何在按钮被禁用时运行代码隐藏功能?
答案 0 :(得分:2)
您需要在后面的代码中禁用它。即使您在点击后确实禁用了它,使用javascript进行的更改仍然会在PostBack后撤消。
protected void Button1_Click(object sender, EventArgs e)
{
Insert.Enabled = false;
}
或者在OnClientClick上设置超时?也许那会奏效。
OnClientClick="setTimeout(function () { this.disabled=true; }, 10);"
答案 1 :(得分:0)
如果可能,我将更改Submit行为。
该方法的问题在于,前端代码发生在后端提交之前,并且如果在后端提交之前禁用了按钮,则它将无法调用后端功能。
相反,我将使用其他方法,例如使用webMethod或提交整个表单。
使用web方法,您将可以在前端完成一些处理,而后端完成处理
整个提交过程中,您都必须使用page_load事件