来自web.archive.org上的这篇文章:
诀窍是使用按钮控件的OnClientClick和UseSubmitBehavior属性。还有其他方法,包括在服务器端添加属性的代码,但是我认为以这种方式进行的简单性更具吸引力:
<asp:Button runat="server" ID="BtnSubmit" onClientClick="this.disabled= true; this.value = ‘Submitting…’;” UseSubmitBehavior=”false”
onClick=”BtnSubmit_Click” Text=”Submit Me!” />OnClientClick允许您添加客户端OnClick脚本。在这种情况下,Javascript将禁用button元素并将其文本值更改为进度消息。回发完成后,新呈现的页面将把按钮还原回其初始状态,而无需进行任何其他工作。
禁用客户端上的提交按钮的一个陷阱是它将取消浏览器的提交,并因此取消回发。将UseSubmitBehavior属性设置为false可以指示.NET注入必要的客户端脚本以无论如何触发回发,而不是依赖于浏览器的表单提交行为。在这种情况下,它注入的代码将是:
__doPostBack('BtnSubmit','')这被添加到我们的OnClientClick代码的末尾,为我们提供了呈现的HTML:
<input type="button" name="BtnSubmit" onclick="this.disabled = true;this.value =’Submitting…’;__doPostBack(‘BtnSubmit’,’‘)” value=”Submit
Me!” id=”BtnSubmit” />在回发完成时,这将提供不错的按钮禁用效果并处理文本。



