我在asp:UpdatePanel中有一个带有style =“overflow:auto”的DIV容器,由asp:Timer
触发DIV的内容每秒更新一次,但一旦内容溢出div宽度和高度限制,DIV会自动滚动到每个内容添加的顶部;我希望它保留在当前设置滚动的位置,或者甚至更好地保持DIV的底部内容可见。
我尝试使用一些javascript来使用scrollHeight来操作scrollTop,但它会创建一个无法使用的DIV对象,因为自动滚动总是会发生。
我可以添加一些javascript来自动向下滚动onfocus,但是当添加新内容时,这不会修复自动滚动到DIV内容的顶部。
我必须为所有ajax使用ASP.NET对象,但我有jQuery 1.7(最新版本)来补充任何功能。
答案 0 :(得分:0)
您需要_endRequest,_beginRequest处理程序。在后面的代码中添加这个。
public object endRequestHandle { get; set; }
public object beginRequestHandle { get; set; }
在您的aspx页面中,添加:
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandle);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle);
function beginRequestHandle(sender, Args) {
//call any function if you want before Ajax update/request begins
}
function endRequestHandle(sender, Args) {
//Call the function to scroll the div all the way down
}