AjaxAjax:如何使用updatepanle进行一些刷新

1.设定ScriptManager的EnablePartialRendering=”true”(一般默认为true)

2.设定要开展局部刷新panel的UpdateMode=”Conditional”(本panel 的id为zz)
  这样就是可以保证以本panle内的控件操作refresh页面时,
  不会见用所有page刷新,而刷新本panle中的
  如果还想发其他操作时refresh这个panel中之控件可以如下操作

3.加入<Triggers><asp:AsyncPostBackTrigger ControlID=”xx”
EventName=”yy” /></Triggers>
  其中ControlID写相关的控件id,EventName写该控件的轩然大波
  这样就会见,如果这近件(xx)做yy动作频仍,将会refresh zz这个panel

eg:
<%–第一个panel–%>
<asp:UpdatePanel ID=”UpdatePanel1″ runat=”server”
UpdateMode=”Conditional” >
<ContentTemplate>       
    <asp:TreeView ID=”ctlUnitTree” runat=”server”
EnableClientScript=”False”
      OnSelectedNodeChanged=”ctlUnitTree_SelectedNodeChanged”
      OnTreeNodeExpanded=”ctlUnitTree_TreeNodeExpanded”>
    </asp:TreeView>
</ContentTemplate>
</asp:UpdatePanel>

<%–第二个panel–%>
<asp:UpdatePanel ID=”UpdatePanel3″ runat=”server”
UpdateMode=”Conditional” >
<ContentTemplate>
 <asp:TextBox ID=”txtLoginID” Enabled=”false” runat=”server”
></asp:TextBox>
</ContentTemplate>
<Triggers>
    <asp:AsyncPostBackTrigger ControlID=”ctlUnitTree”
EventName=”SelectedNodeChanged” />
</Triggers>
</asp:UpdatePanel>

用意就是:
首先单panel中之tree变更选中节点时,
将会refesh第二个panel中的值
一旦第二独panel中做另外作动将未会见潜移默化率先单panel

4.假如想第二只panel中之textbox改变时,要refresh第一独panel
  可每当第一个panel中加及同样的
  <Triggers>
    <asp:AsyncPostBackTrigger ControlID=”ctlUnitTree”
EventName=”TextChanged” />
  </Triggers>
  或者当OnTextChanged事件被进入UpdatePanel1.update();进行粗refresh

相关文章