【问题标题】:ASP.NET Enable a Disabled Button on Browser BackASP.NET 在浏览器返回上启用禁用按钮
【发布时间】:2015-09-17 20:41:34
【问题描述】:

我有一个 ASP.NET 按钮,它需要 1-2 秒的服务器端处理。为了防止多次点击,我禁用了如下按钮:

<asp:Button Text="Click Me" runat="server" ID="btnClickMe" OnClick="btnClickMe_Click" UseSubmitBehavior="false" OnClientClick="this.disabled = true;" />

protected btnClickMe_Click(object sender, EventArgs e)
{
    Thread.Sleep(2000); // Simulate work
    Response.Redirect("AnotherPage.aspx");
}

当用户点击浏览器的返回按钮时,如何重新启用按钮?

我尝试在 Page_Load 事件中将按钮启用设置为 true,但没有成功。

【问题讨论】:

  • 我正在使用 ASP.NET Web 表单应用程序,而不是 MVC,并且由于其他页面功能,我不想使用 JavaScript window.onunload。还有其他建议吗?
  • 我进行了快速测试,但似乎无法重现您的问题。你用的是哪个浏览器?
  • 最新的火狐。我忘了提到,在我运行服务器端代码之后,我执行了 Response.Redirect 到应用程序中的另一个页面。

标签: javascript c# asp.net


【解决方案1】:

这对我有用。我在 JavaScript 函数的开头添加了这个:

$("#btnClickMe").attr("disabled", "disabled");

这是关于我的 ajax 调用的成功或错误:

$("#btnClickMe").removeAttr("disabled");

【讨论】:

  • 我没有尝试过,但我相信这只有在我运行纯客户端代码时才有效,在这种情况下,我会接受它作为答案。但是,我的按钮单击事件是在服务器端处理的。
  • 我不知道你是否使用了 Ajax,但我在 JavaScript 函数的开头设置了 disabled 属性,然后在我的 Ajax 调用成功或失败时将其删除.我正在更新我的答案以反映这一点。
猜你喜欢
  • 1970-01-01
  • 2011-10-18
  • 1970-01-01
  • 2013-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-26
  • 2011-08-06
相关资源
最近更新 更多