Я знаю, что было множество вопросов по этой теме c, и я искал ответ, но не смог найти ответ, подходящий для данной конкретной ситуации.
У меня есть UpdatePanel который содержит GridView, в котором вы можете редактировать значения строк. При редактировании для большинства значений необходимо выбрать параметр из DropDownList, поэтому строки обычно представляют собой TemplateColumns с ItemTemplate и EditItemTemplate.
Когда вы щелкаете, чтобы редактировать элемент в GridView, столбцы ширины таблицы для размещения раскрывающихся списков. Это означает, что когда UpdatePanel перезагружается с сеткой в режиме редактирования, строка, которую вы пытаетесь редактировать, прокручивается вниз из поля зрения и выглядит так, как будто она исчезла, если вы не знаете, как прокрутить ее вниз. Затем, когда вы нажимаете кнопку «Сохранить», GridView возвращается в режим без редактирования, поэтому столбцы снова изменяют ширину на нормальную, а только что отредактированная строка прокручивается вверх, обычно вне поля зрения.
Прямо сейчас я пытаюсь уловить второй ответ на этой странице 1 . У меня есть шаблон столбца со ссылкой с идентификатором «scroll200» или «scroll201», где число является целым числом, которое является первичным ключом для этой строки.
<asp:TemplateField>
<ItemTemplate>
<a id='scroll<%# Eval("ID") %>'></a>
</ItemTemplate>
</asp:TemplateField>
В верхней части вида сетки находится элемент управления, и в методе grid_RowUpdating я устанавливаю текст этого литерала следующим образом:
<script>
var element_to_scrollto = document.getElementById('scroll201');
element_to_scrollto.scrollIntoView();
</script>
В настоящее время прокрутка назад не работает. в положение строки, которая была отредактирована, и я понятия не имею, с чего начать, как устранить неполадки или использовать другой метод. Любая помощь будет принята с благодарностью. Спасибо!