如何在單擊WEB控件引發頁面刷新時定位頁面?(不使用智能導航)

- 中國WEB開發者網絡 (http://www.webasp.net)
-- 技術教程 (http://www.webasp.net/article/)
--- 如何在單擊WEB控件引發頁面刷新時定位頁面?(不使用智能導航) (http://www.webasp.net/article/17/16565.htm)
-- 作者:未知
-- 發佈日期: 2005-02-22
1.函數(參考其它網友,有作變動)


#Region "防止頁面滾動"
Private Function RetainScrollPosition()
Dim saveScrollPosition As StringBuilder = New StringBuilder
Dim setScrollPosition As StringBuilder = New StringBuilder

RegisterHiddenField("__SCROLLPOS", "0")

saveScrollPosition.Append("<script language='javascript'>")
saveScrollPosition.Append("function saveScrollPosition() {")
saveScrollPosition.Append(" document.forms[0].__SCROLLPOS.value = mybody.scrollTop;")
saveScrollPosition.Append("}")
saveScrollPosition.Append("mybody.onscroll=saveScrollPosition;")
saveScrollPosition.Append("</script>")

RegisterStartupScript("saveScroll", saveScrollPosition.ToString())

If (Page.IsPostBack) Then
setScrollPosition.Append("<script language='javascript'>")
setScrollPosition.Append("function setScrollPosition() {")
setScrollPosition.Append(" mybody.scrollTop = " & Request("__SCROLLPOS") & ";")
setScrollPosition.Append("}")
setScrollPosition.Append("mybody.onload=setScrollPosition;")
setScrollPosition.Append("</script>")

RegisterStartupScript("setScroll", setScrollPosition.ToString())
End If
End Function
#End Region


2.調用


在page_load事件中調用RetainScrollPosition()


3.其它


將<body>的id命名為「mybody」



webasp.net