我正在使用更新面板并更新进度控制。在更新面板中,我有带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有效?
答案 0 :(得分:0)
直接调用__doPostback会绕过设置更新面板的所有触发器。因此,为了避免这种情况,您可以调用OnBeginRequest
处理程序,也可以触发相同的按钮单击而不是调用__dopostback
。要触发按钮单击,您可以使用jquery触发器功能。您可以获得示例here。
希望这有帮助。