在 post 返回时禁用控制

Disable control while post back is happening

我正在使用用户控件中制作的 telerik 网格,此控件内有一个复选框

<telerik:GridTemplateColumn>
    <ItemTemplate>
        <asp:CheckBox ID="check" AutoPostBack="true" runat="server" OnCheckedChanged="check_CheckedChanged"/>
    </ItemTemplate>
</telerik:GridTemplateColumn>

我需要做的是在 "check_CheckedChanged" 发生时禁用用户控制之外的某个按钮(我知道这违背了控制独立的目的,但这不是我现在可以改变的).这是因为 check_CheckedChanged 执行时间太长(因为它进行了大量验证)并且用户可以在按钮被 check_CheckedChanged 禁用之前按下按钮。顺便说一句,如果有人需要的话,我在控件中确实有按钮 ID。

如您所指出的,情况不太理想,但您可以使用 Javascript。在 check_CheckedChanged 中,写出对 hideButton() 函数的 Javascript 调用,该函数不在用户控制范围内。

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "script", "hideButton();", true);