javascript - How to keep scroll position independent of postback? -


i have regular time interval event in javascript clicks asp button. application common chat room , have refresh gridview (which inside panel) check new chats. everytime button clicked , gridview refreshed panel scrolls top (i.e., scrolltop value becomes 0). have tried no avail:-

    <script type="text/javascript">     function refresh() {         setinterval(function () {             var xtop = document.getelementbyid("panel1").scrolltop;             document.getelementbyid("button2").click();             document.getelementbyid("panel1").scrolltop = xtop;         }, 1000);     }     </script> 

if want store scroll position between postbacks, in refresh() function can store scroll position value in hidden field put somewhere in html: <input type="hidden" id="scroll"></input> using javascript

document.getelementbyid("scroll").value = document.getelementbyid("panel1").scrolltop; 

there other options persist data such cookies , asp.net viewstate, hidden field simplest purpose. can read value hidden field upon loading dom , scroll window position.

however, if posting every second check new messages, have bigger problem. kind of functionality better done asynchronously ajax. need bit of looking i'm not sure of implementation here, use javascript ask server if there new messages , load them server asynchronously, thereby eliminating use of postbacks.

here mozilla's introduction ajax.


Comments