发布于 2016-06-11 01:45:37 | 149 次阅读 | 评论: 0 | 来源: 网友投递
ASP.NET
ASP.NET 是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 。
首先是为DIV添加一个onscroll="javascript:setScollTop()" 的方法(当然不一定是DIV其他的标签思路应该也是这样的)
<div style="overflow: auto; height: 152px" align="left" id="dvScoll_1" onscroll="javascript:setScollTop()">
www.phperz.com
......
</div>
这里setScrollTop方法就是每次滚动条滚动的时候,把div的ScrollTop的值赋给一个隐藏控件。代码如下
function setScollTop()
{
document.getElementById("<%=hidScrollTop.ClientID%>").value=document.getElementById("dvScoll_1").scrollTop;
}
因为每次.net回发滚动条都会复位,所以这里我们 在Page_Load中给DIV的ScrollTop重新赋值了。代码如下
if (!IsPostBack)
{
。。。。。
}
else
{
//恢复滚动条位置
if (this.hidScrollTop.Value!="")
{
string scrollTop = this.hidScrollTop.Value;
string strScript="document.getElementById('dvScoll_1').scrollTop="+scrollTop;
RegisterScriptBlock(this.Page, strScript);
}
}
这里的RegisterScriptBlock是我写的一个方法,放在公共类库里的,如下所示。
/// <summary>
/// 注册脚本块
/// </summary>
public static void RegisterScriptBlock(System.Web.UI.Page page, string _ScriptString)
{
page.ClientScript.RegisterStartupScript(page.GetType(), "scriptblock", "<script type='text/javascript'>" + _ScriptString + "</script>");
}