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