2016-05-05 2 views
0

Изучение asp.net и веб-форм. У меня очень длинное gridview с кнопкой редактирования для каждой строки. Пользователи нажимают на редактирование, он выполняет обратную передачу, а затем возвращается с другим столбцом, доступным для редактирования, и кнопка изменилась на кнопку «Обновить» и «Удалить». Проблема заключается в том, что когда вы нажимаете «редактировать», и происходит обратная передача, он возвращает вас к верхней части страницы. Как я могу получить его обратно, где пользователь просматривал или, по крайней мере, обратно туда, где видна единственная редактируемая строка (желательно в середине представления, а не сверху)?Как изменить положение прокрутки после обновления строки сетки?

+0

Возьмите это от кого-то, кто замешкался переход к MVC. Если вы только начинаете процесс обучения LEARN MVC. – dinotom

+0

Похоже, вам нужен какой-то ajax. В веб-формах это обычно реализуется с помощью 'Я бы это исследовал. – zgood

+0

MVC находится в моем учебном списке, но я работаю с несколькими более старыми разработчиками, и у нас есть 15-летние приложения в ColdFusion, Classic ASP и WebForms, поэтому мне нужно сначала взять их в руки. Я действительно попробовал UpdatePanel, но я не смог получить правильную комбинацию вещей и получить их в правильном порядке, где бы он даже компилировался. Мои элементы управления получат ошибки, говоря, что нет такого элемента, когда я был внутри UP. – user1766768

ответ

0

Первым шагом было бы установить MaintainScrollPositionOnPostback на true и посмотреть, работает ли оно так, как вы хотите. Вы можете установить его на уровне страницы:

<%@ Page MaintainScrollPositionOnPostback="true" ... %> 

или на уровне приложений в Web.config:

<system.web> 
    <pages maintainScrollPositionOnPostBack="true" ... /> 
    ... 
</system.web> 
+0

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

+0

Я не знаю; вы можете сказать нам, попробовав это. Конечно, избежать полного обновления страницы было бы более чистым решением. Как было предложено zgood, UpdatePanels можно использовать в ASP.NET WebForms для достижения этого. В вашем случае вам нужно будет поместить весь GridView внутри UpdatePanel. – ConnorsFan

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