我有一个面板,在面板内有一些复选框和radiobuttonlist。此面板位于UpdatePanel ajax中。
当我点击一个复选框时,它会在支持ajax的情况下引发自动回复,然后面板的滚动条总是移回到第一个位置。它不保持当前的滚动位置。
我怎么能保持滚动条位置?
我已经尝试添加:
this.Page.SetFocus("PanelTrips");
this.MaintainScrollPositionOnPostBack = true;
但它没有帮助。
提前致谢。
答案 0 :(得分:3)
如果有人需要,我已经找到了答案:
// ajax post back begin and end event
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
var scrollTop = 0;
function beginRequestHandler(sender, args) {
var elem = document.getElementById('divContainer');
scrollTop = elem.scrollLeft; //scrollTop
}
function EndRequestHandler(sender, args) {
var elem = document.getElementById('divContainer');
elem.scrollLeft = scrollTop;
}
答案 1 :(得分:0)
我找到了一个解决方案,只需在此页http://en.hasheminezhad.com/scrollsaver上添加javascript,其中还包含更详细的说明。