在Update Panel 中 如果使用timer 定时刷新数据,会造成textbox 或者其他控件的焦点丢失问题。
所以 text box 不能和timer 放在同一个Updatepanel 中。
建议放在2 个不同的UpdatePanel 中,同时设置UpdateMode 为 condition
<asp:UpdatePanel ID="UpdatePanelForQuery" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox ID="TextBoxMachineName" runat="server" CssClass="border" Text=""></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Timer ID="ClusterRef" Interval="3000" runat="server">
</asp:Timer>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ClusterRef" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
可以吧后台的方法放在PageLoad中执行。