0

次のサイト構造があります。これは .net 3.5 です。

マスター ページ -> コンテンツ ページ -> モーダル ポップアップ エクステンダー -> ユーザー コントロール -> パネル -> 更新パネル -> div

div は、すべてのフォーム要素がある場所です。これで、チェックボックスまたはポストバックが発生するボタンをクリックすると、ユーザーコントロールが上から始まります。スクロールバックを維持しません。以下のスクリプトの実装に関する投稿に出くわしましたが、これは何の役にも立ちません。これに対する修正はありますか?

以下は私が使用したスクリプトです。

<script type="text/javascript">
var xPos, yPos;
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_beginRequest(BeginRequestHandler);
prm.add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
    xPos = $get('div').scrollLeft;
    yPos = $get('div').scrollTop;
}
function EndRequestHandler(sender, args) {
    $get('div').scrollLeft = xPos;
    $get('div').scrollTop = yPos;
}

4

1 に答える 1

0

これを Javascript の pageLoad セクションに追加してみてください。ModalPopupExtenders には、スクロール位置に使用できる「add_shown」関数があります。

function pageLoad() {
var popup = $find('<%=MODALPOPUPEXTENDER.ClientID%>');
popup.add_shown(SetScrollPositionFunction);
}

あなたの場合、SetScrollPositionFunction は EndRequestHandler になります。

于 2012-09-20T08:11:48.730 に答える