Ajax:如何运用updatepanle进行局部刷新
1.設(shè)定ScriptManager的EnablePartialRendering="true"(一般默認為true)
2.設(shè)定要進行局部刷新panel的UpdateMode="Conditional"(本panel 的id為zz)
? 這樣就可以保在本panle內(nèi)的控件操作refresh頁面時,
? 不會將整個page刷新,而刷新本panle中的
? 如果還想作其它操作時refresh這個panel中的控件可以如下操作
3.加入<Triggers><asp:AsyncPostBackTrigger ControlID="xx" EventName="yy" /></Triggers>
? 其中ControlID寫相關(guān)的控件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變更選中節(jié)點時,
將會refesh第二個panel中的值
而第二個panel中做任何作動將不會影響第一個panel
4.如果想第二個panel中的textbox改變時,要refresh第一個panel
? 可在第一個panel中加及同樣的
? <Triggers>
??? <asp:AsyncPostBackTrigger ControlID="ctlUnitTree" EventName="TextChanged" />
? </Triggers>
? 或者在OnTextChanged事件中加入UpdatePanel1.update();進行強行refresh
轉(zhuǎn)載于:https://www.cnblogs.com/freeliver54/archive/2007/01/23/628279.html
總結(jié)
以上是生活随笔為你收集整理的Ajax:如何运用updatepanle进行局部刷新的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android之LitePal 3.0
- 下一篇: DPtoLP/LPtoDP 和 Scre