asp.net ajax postback:如何保持面板的滚动位置

时间:2010-08-24 14:22:06

标签: asp.net

我有一个面板,在面板内有一些复选框和radiobuttonlist。此面板位于UpdatePanel ajax中。

当我点击一个复选框时,它会在支持ajax的情况下引发自动回复,然后面板的滚动条总是移回到第一个位置。它不保持当前的滚动位置。

我怎么能保持滚动条位置?

我已经尝试添加:

this.Page.SetFocus("PanelTrips");
this.MaintainScrollPositionOnPostBack = true;

但它没有帮助。

提前致谢。

2 个答案:

答案 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,其中还包含更详细的说明。