フォームに 2 つのボタンを配置します。
<asp:Button ID="ButtonToDisable" runat="server" Text="Button" />
<asp:LinkButton ID="PostBackLinkButton" runat="server" onclick="PostBackLinkButton_Click"></asp:LinkButton>
1 つ目は 2 秒後に無効になるボタンで、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 が無効になります。
ポストバックがユーザーに表示されないようにするには、更新パネル内にボタンを配置します。