2008年5月30日 星期五

觸發 post back 固定畫面位置

除了使用 SmartNavigation="true" 來達到這個目的外,
另外一個就是自行撰寫 JS 來處理。

介紹一個網路上常被推薦的方法,但要特別注意,.Net 2005 webform 預設產生的 DOCTYPE html PUBLIC 是

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
這新的定義,不支援 onscroll 事件,導致程式不能正確保留目前 scroll bar 的位置,所以沒辦法呈現我們想要的效果。

於是,我們要將
DOCTYPE html PUBLIC 改成舊的
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

另外將整理過的程式放在連結中,請參考連結。

程式連結

這個範例不需要再去 aspx 頁面手動建立一個隱藏物件,也不需要去設定 Body ,只要複製貼上到你的 .cs 就可以了。並將觸發事件放在 onPageLoad( )




沒有留言:

張貼留言