keepScrollPositionOnPostBack конфликтует с методом фокуса textobox

У меня есть страница ASP.NET, где в web.config Я добавил эту настройку:

<pages maintainScrollPositionOnPostBack="true">

Теперь на странице aspx у меня есть текстовое поле (txtTop) поверх формы, и после того, как пользователь прокручивает вниз (между ними много элементов управления), появляется кнопка.

Внутри этой кнопки Нажмите событие на сервере, я добавил этот код.

  txtTop.focus();

Я ожидаю, что фокус должен быть на текстовом поле, а также на позиции прокрутки, которая будет указывать на текстовое поле. но этого не происходит. Основное внимание уделяется текстовому полю, но оно не отображается, я должен нажать какую-то клавишу, чтобы поместить текстовое поле в положение прокрутки.
Эти два свойства конфликтуют, и я не могу решить их.

К вашему сведению: нет обновлений панелей..

1 ответ

Решение

Я создал грязный взлом, чтобы решить эту проблему. Без setTimeout он не работал и не был document.ready.

$(window).load(function () {

    setTimeout(function () {
        document.activeElement.scrollIntoView(true);
    }, 1);
});
Другие вопросы по тегам