2015-09-17 53 views
0

我有一个ASP.NET按钮,需要1-2秒的服务器端处理。为了防止多次点击,我喜欢禁用下面的按钮:ASP.NET在浏览器上启用禁用按钮返回

<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,但那不起作用。

+0

http://stackoverflow.com/questions/22481553/refresh- page-on-back-click-mvc-4 – Greg

+0

我正在使用ASP.NET Web表单应用程序,而不是MVC,并且我不想使用JavaScript window.onunload,因为有其他页面功能。还有其他建议吗? –

+0

我做了一个快速测试,我似乎无法重现您的问题。你正在使用哪种浏览器? –

回答

0

这对我有效。我加入这个在JavaScript函数的开头:

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

这是对我的Ajax调用的成功或错误:

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

我还没有尝试过,但我相信这只会在我运行纯粹的客户端代码时才起作用,对于这种情况,我会接受它作为答案。但是,我的按钮单击事件在服务器端进行处理。 –

+0

我不知道你是否在使用Ajax,但是我在JavaScript函数的开头设置了disabled属性,然后在Ajax调用成功或失败时删除它。我正在更新我的答案以反映这一点。 – tcrite

相关问题