Страница прокрутки фокуса 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 это должно работать, но я не пробовал.