asp.net数据回发时保持页面上滚动条原来位置
思路很简单,就是记录下来某个滚动条的位置,数据回发时,用记录下来数据重新设置滚动条。
第一步:在页面上加一个文本框
<asp:TextBox id="txtpos" runat="server" Width="0px"></asp:TextBox>把文本框设宽度为0px是为了页面上不显示。
第二步:利用javascript记录滚动条的位置。
例如
<DIV id="test" style="WIDTH: 292px; HEIGHT: 295px" οnscrοll='document.all("txtpos").value=document.all("test").scrollTop;'>
......
</div>
这里利onscroll把滚动条位置记录到文本框 txtpos中了。
第三步:把下面一句javascript语句放到网页的后面。
......
<script>
document.all("test").scrollTop = document.all("txtpos").value;
</script>
</form>
</HTML>
document.all("test").scrollTop = document.all("txtpos").value;
</script>
</form>
</HTML>
这样数据回发完成后,运行这一句javascript把滚动条自动设为原的位置。