AJAX筆記之二:UpdatePanel

來源:互聯網
上載者:User
UpdatePanel是最重要的AJAX控制項, 它是一個容器, 是局部重新整理的單位.

  首先來看它的重新整理模式.
  在上一篇筆記中, 我使用了UpdatePanel "主動"指定trigger 的方法, 另外, 也可以在UpdatePanel端不做任何設定, 而"被動" 地接受重新整理.

  所以大體來說, 有三種方式使其更新:
  <一>.由UpdatePanel的子控制項引起回傳, 自動更新.  這種模式是預設的行為, 舉個簡單的例子, 在UpdatePanel裡放一個button, 給button的點擊事件寫代碼, 這樣當點擊這個按鈕時, UpdatePanel進行回傳並更新自己的內容. 但是這時, 如果button的點擊事件更改了UpdatePanel以外部分的內容, 則更新不會馬上顯示出來, 因為整頁並沒有更新, 這個實驗上一篇筆記已經描述了.

<二>UpdatePanel指定一個非子控制項的控制項, 而這個trigger 自己並不知道它會引起整頁回傳還是UpdatePanel的局部回傳. 這種做法就是上一篇所使用的方法. 設定UpdatePanel的Triggers 屬性, 而外部的button 本來應該是引起整頁回傳的, 但是經過UpdatePanel的聲明, 這個button 就變成了UpdatePanel的獨佔的了, 無需經過這個button的同意.

<三>UpdatePanel自己不知道自己何時將被更新, 完全取決於其它控制項. 這種情況下, 必須把它的UpdateMode設為Conditional, 這樣, 任何一個函數都可以調用它的Update 方法使其重繪, 無論是否子控制項都無關緊要.

有了以上的討論, 再看UpdatePanel 的幾個關鍵屬性就很容易理解了, 如果要使用第二, 第三種方式使其更新 ,必須將UpdateMode屬性設定了Conditional, 而第一種方式則必須設定為Always,  如果希望子控制項能夠觸發事件, 則把ChilderAsTriggers 設定為true, 否則設為false.

UpdatePanel可以互相嵌套, 但是這種嵌套只是外觀上的嵌套, -----內層的UpdatePanel 更新時, 並不會引起外層的UpdatePanel 重繪.

然後再看UpdatePanel 的排版.

UpdatePanel沒有height, width 等屬性, 所以也就無法設定其尺寸, 然而從工具箱裡拖過來以後, 它會有一個預設的大小, 如果往裡面往兩個控制項, 這兩個控制項就會一上一下地疊起來, 而不會排成一排 . 如果希望子控制項排 成一排, 則需要在UpdatePanel 的字碼頁裡, 寫一個div, 把所有內容都放進這個div 裡面, 然後設定div的寬度 大於等於所有控制項橫排的寬度, 則這些控制項就會自動排 成一排了.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.