2012-01-16 5 views
4

Назад с другой веб-проблемой.Поддержание положения прокрутки и выбранного элемента управления при обратной передаче

Когда элемент управления отправляет обратно на сервер, страница обновляется (Хорошо). Страница также прокручивается назад и теряет выбранный элемент управления. Если это релевантно после обратной передачи в зависимости от того, какие изменения произошли, элементы управления становятся видимыми или скрытыми. Фокус теряется, и текущий прокрутка сбрасывается, даже если на странице видимость не изменяется. Данные, введенные в текстовые поля, сохраняются, а также любые варианты выбора радиообмена/флажка. Проблема заключается в том, что tabbing сбрасывается в индекс 0, а прокрутка страниц отправляется обратно в начало страницы.

Я использую .NET 4.0

Я попытался добавить MaintainScrollPositionOnPostback = «истинный» как на самом осина странице и в web.config без толка. Я пробовал с и без Ajax updatepanel, используя условное обновление, сбрасывание при изменении текста текстовых полей или изменении параметров радиообмена, а postback по-прежнему вызывает прокрутку и потерю индекса.

Любые иды были бы фантастическими. Та!

ответ

3

Прежде всего, MaintainScrollPositionOnPostback="true" имеет известную ошибку в asp.net 2.0, см. here.

Кроме того, правильный синтаксис: maintainScrollPositionOnPostback. (нижний регистр m)

Я использовал maintainScrollPositionOnPostback, но у меня много проблем в IE, тогда я использую APPA AXAX Control Toolkit UpdatePanel, он решает проблему (страница не прокручивается вверх) и сохраняет некоторую полосу пропускания ,

EDIT:

Я думаю, я понимаю вашу проблему, это означает сохранение фокуса на элементе, это может быть сделано с помощью некоторых JavaScripts обходных путей, как таковые here.

Надеюсь, что это поможет.

+0

Привет, спасибо за ответ. Я только что редактировал мой вопрос, я должен был опубликовать его раньше. Я пробовал как в Ajax updatePanel, так и без updatePanel, оба дают те же симптомы. Я также использую .Net 4.0. Я только что попробовал заменить M на m, как вы предложили, но прокрутка все еще происходит. – Skintkingle

+0

ok, только что отредактировал мое сообщение. –

+0

Я выполнил следующие шаги. Это именно то, что мне нужно. Большая толстая неряшливая честь тебе! – Skintkingle

Смежные вопросы