0
<div>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:Timer ID="Timer1" Interval="1000" OnTick="ontick" runat="server">
                </asp:Timer>
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
            </Triggers>
        </asp:UpdatePanel>
        <asp:Button runat="server" EnableViewState="true" Text="button" ID="btnText" />
    </div>

protected void ontick(object sender, EventArgs e)
    {
        Thread.Sleep(2000);
        TextBox1.Text = "1";        
        Timer1.Enabled = false;
        btnText.Enabled = false;
    }

滴答事件结束后按钮未禁用

4

2 回答 2

2

这是完全正确的行为,因为按钮位于更新面板之外。请将其包含在 ContentTemplate 中,或创建新的更新面板,您将在其中包装此按钮并将更新类型设置为始终(我认为这是默认行为)

于 2012-10-20T15:03:43.337 回答
2

我认为您应该将按钮放在内容模板中,以便在更新面板更新时将其禁用。

于 2012-10-20T15:06:07.717 回答