對此我有一點小小的解決方法,我很久以前就在ERP中使用過。不知道它是否是最好的解決方案,但它的工作原理。
我不知道你是否使用自定義頁面類或默認System.Web.UI.Page
之一,但是,我會嘗試向你解釋你是如何做到的,然後你找到了最好的方法來實現它你的環境好嗎?
例如,您將創建一個HiddenField
,ID爲「hfScrollPosition」。
然後,您將創建一個javascript事件:document.onscroll
或類似的事件,並且在事件內部您將更新隱藏字段以獲取當前滾動位置。例如: document.getElementById("hfScrollPosition").value = document.documentElement.scrollTop;
這樣做,您將擁有一個ASP.NET控件根據主體滾動位置更新其值的方式。所以,當你的頁面一定的控制,使回發,你可以把下面的JavaScript代碼在Page_Load事件:
document.documentElement.scrollTop = document.getElementById("hfScrollPosition").value;
所以,每次你的頁面得到一個回傳,身體滾動位置將被正確地更新。
編輯:我做了一個小提琴來模擬它: https://jsfiddle.net/j26fpgzo/
重複:http://stackoverflow.com/questions/5288682/maintain-panel-scroll-position-on- partial-postback-asp-net – Despertar
...或[Async postback之後重置滾動位置 - ASP.NET](http://stackoverflow.com/questions/616210/reset-scroll-position-after-async-postback-asp-淨) – Bergi