0

我正在使用更新面板和更新进度控制。在更新面板中,我有带有 TextChange 事件的文本框。当用户在文本框中输入 10 位数字时,会自动从 javascript 调用此事件。电话是:

__doPostBack("LabelTextBoxCode", "TextChanged");

这是我的 html 代码:

    <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdateProgress runat="server" ID="UpdateProgress1" AssociatedUpdatePanelID="UpdatePanel">
            <ProgressTemplate>
                ...processing
            </ProgressTemplate>
        </asp:UpdateProgress>
        <asp:UpdatePanel ID="UpdatePanel" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
 <asp:TextBox ID="LabelTextBoxCode" runat="server" OnTextChanged="TextChanged_TextBoxCode">
                        </asp:TextBox>
    ...
  </ContentTemplate>
    </asp:UpdatePanel>

到目前为止,我发现这个线程UpdateProgress Not working when called thru javascript但它对我没有帮助(我不知道如何在我的情况下正确使用它)。

当我按下更新面板中的任何按钮时,会显示进度条,问题只是这个从 javascript 手动调用的 __doPostBack。

如何修复它并使 updateProgress 有效?

4

1 回答 1

0

直接调用 __doPostback 会绕过所有设置更新面板的触发器。因此,为避免这种情况,您可以调用OnBeginRequest处理程序,也可以触发相同的按钮单击,而不是调用__dopostback. 要触发按钮单击,您可以使用 jquery 触发功能。你可以在这里得到一个例子。

希望这可以帮助。

于 2014-03-06T12:00:40.530 回答