Страница прокрутки фокуса ASP.NET для ввода

У меня есть несколько текстовых полей / ярлыков внутри UpdatePanel. Когда я выхожу из одного из текстовых полей, метка должна быть обновлена ​​текстом. Это приводит к тому, что фокус на странице сбрасывается до самого верхнего элемента.

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

Page.SetFocus(tbxInput);

или же

tbxInput.Focus();

В IE поддерживается позиция прокрутки в браузере (Woo Hoo!). В Chrome и Firefox это не так; положение прокрутки настраивается таким образом, чтобы текстовое поле с фокусом было последним элементом, отображаемым на странице. Это действительно беспокоит пользователя.

Я использую следующие правила в моем web.config:

<pages theme="Default" styleSheetTheme="Default" maintainScrollPositionOnPostBack="true" validateRequest="false">

Как я могу добиться поведения, которое есть у IE?

2 ответа

Решение

Для такого рода вещей я обновляю текст метки из javascript (возможно, с помощью вызова AJAX для веб-службы или метода страницы).

Использование asp.net AJAX UpdatePanel является опцией. Также какую версию.net Framework вы используете.

Согласно этому с 4.0 это должно работать, но я не пробовал.

Другие вопросы по тегам