今天要記錄的是一篇關於局部刷新的,剛做網頁的時候,每實現網頁中的一個功能,都要刷新整個頁面,感覺很煩人,嚴重影響了網站效率,而且整個網頁刷新還會造成很多其他問題,所以就到網上查了些局部刷新的東西,並在做項目中使用了,挺好用的,也很簡單,下面我就簡單寫兩種用法:
1.這個做起來比較簡單,主要依靠一個updatepanel控件就可以了,先添加一個SriptManager,然後添加一個UpdatePanel,然後在<ContentTemplate>標籤中間放入要局部刷新的頁面內容,以下是個例子:
<asp:ScriptManager ID="sm1" runat="server" />
<asp:UpdatePanel ID="up1" runat="server" UpdateMode="Always">
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
如果有特殊需要,比如在局部刷新的頁面裏面有需要刷新整個頁面的按鈕什麼的,就用到下面的東西了,比如Button1在局部刷新的頁面裏面,而按下它後需要刷新整個頁面,則在</asp:UpdatePanel>之前加入如下代碼即可:
<Triggers>
<asp:PostBackTrigger ControlID="Button1" />
</Triggers>
這樣按下Button1就會刷新整個頁面,也可以是局部刷新頁面外的控件執行局部刷新頁面的功能,在<Triggers>之間換成如下代碼就行了:
<asp:AsyncPostBackTrigger ControlID="Button1" />
但用<Triggers>的前提是updatemodel的UpdateMode="Always"
2.還有就是用iframe,在一個網頁中定義一個iframe,在iframe中打開其他網頁的鏈接。比如用iframe的src屬性指定別的頁面或者用一個鏈接的target屬性指定爲iframe的id。
在用iframe的時候,iframe中要顯示的其他網頁可能會有很多個,而這些網頁的高度不一定都是相同的,這時候就需要用到自適應高度了,只需要在這些需要顯示的網頁中加入如下代碼就可以了,這樣頁面顯示就不會因爲高度問題而顯示不全:
<script language="javascript" type="text/javascript">
parent.document.all("MainList").style.height = document.body.scrollHeight;
</script>
關於局部刷新的方法網上還有很多,大家可以到Baidu上Google一下,^_^