在表单上放置两个按钮:
<asp:Button ID="ButtonToDisable" runat="server" Text="Button" />
<asp:LinkButton ID="PostBackLinkButton" runat="server" onclick="PostBackLinkButton_Click"></asp:LinkButton>
第一个是 2 秒后禁用的按钮,第二个是执行回发的按钮。
接下来将此代码放入 page.cs 中:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ClientScript.RegisterStartupScript(this.GetType(), "timer",
"setTimeout(function(){" + Page.ClientScript.GetPostBackEventReference(PostBackLinkButton, String.Empty) + "},2000)", true);
}
}
protected void PostBackLinkButton_Click(object sender, EventArgs e)
{
ButtonToDisable.Enabled = false;
ButtonToDisable.Text = "Button is disabled!";
}
现在只需运行页面并等待 2 秒,就会发生回发并禁用 PostBackLinkButton。
如果您不希望用户可以看到回发,请在更新面板内放置按钮。