cgv*_*val 4 c# asp.net scroll gridview
我在web.config中使用了以下代码,以便在服务器回发后维护滚动条位置:
<pages maintainScrollPositionOnPostBack="true" >
</pages>
Run Code Online (Sandbox Code Playgroud)
一切正常,但现在我有一个gridview封装在一个div中,div中有一个滚动条(内部滚动条).
当在gridview内的其中一行上发生事件时,内部滚动条不像外部滚动条那样保持其原始位置.
有任何想法吗?
cgv*_*val 16
备查:
正常的过程是在web.config文件中写入以下内容:
<system.web>
<pages maintainScrollPositionOnPostBack="true" >
</pages>
</system.web>
Run Code Online (Sandbox Code Playgroud)
这将保留所有网页的滚动条位置.
如果在gridview(或div)中有滚动条,则使用以下脚本:
<script type="text/javascript">
window.onload = function () {
var strCook = document.cookie;
if (strCook.indexOf("!~") != 0) {
var intS = strCook.indexOf("!~");
var intE = strCook.indexOf("~!");
var strPos = strCook.substring(intS + 2, intE);
document.getElementById("grdWithScroll").scrollTop = strPos;
}
}
function SetDivPosition() {
var intY = document.getElementById("grdWithScroll").scrollTop;
document.cookie = "yPos=!~" + intY + "~!";
}
</script>
Run Code Online (Sandbox Code Playgroud)
div必须如下:
<div id="grdWithScroll" ………… onscroll="SetDivPosition()">
Run Code Online (Sandbox Code Playgroud)
http://michaelsync.net/2006/06/30/maintain-scroll-position-of-div-using-javascript-aspnet-20