Как заставить Asp.Net перенаправить пользователя обратно в исходную точку - PullRequest
0 голосов
/ 22 октября 2008

Ребята, я пишу код более 15 лет, но удалось избежать «Веб-разработки» до 3 месяцев назад.

Я унаследовал унаследованное приложение Asp.net (началось в .net 1.1, сейчас мы в .Net 2.0), это инструмент администрирования для нашего продукта.

В некоторых местах инструмент администратора просто поддерживает длинные списки значений.

Список (может быть более 200 элементов) появляется в GridView (Страница A), пользователь нажимает кнопку редактирования для элемента, это приводит их к странице редактирования для элемента (Страница B), где они могут изменить значение (или значения, элемент в списке может быть связан с несколькими значениями, например, именем и адресом и предпочтительным цветом, породой кошки ...)

В настоящее время, когда пользователь нажимает «Сохранить» на странице B, мы перенаправляем обратно на страницу A. Страница открывается вверху списка, это раздражает пользователя, так как часто несколько элементов в последовательности необходимо будет настроить вместе, и пользователю необходимо 1. запомнить, какой элемент он только что отредактировал, 2. прокрутить вниз до этого элемента

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

Самый быстрый останов пистолета . , , и продолжайте читать

  1. Предложения по строкам «перегруппировать элементы, чтобы их было меньше в списке», будут считаться бесполезными
  2. Допустимые моменты, что .Net 3.5 делает это автоматически, я буду считать бесполезными (но отправлять их в любом случае, это может помочь другому бедному дураку)
  3. Я думаю, что мог бы сделать это, опубликовав идентификатор отредактированного элемента при повторной загрузке страницы A, и прокрутив сетку до этой точки, однако Мой вопрос, .

Есть ли функция для этого, о которой я не знаю (и что это) и / или
Какой приемлемый способ сделать это?

Заранее спасибо B. беспокойство

Ответы [ 2 ]

3 голосов
/ 22 октября 2008

Этого можно достичь с помощью тегов привязки. Когда вы выводите свои элементы на странице A, установите тег привязки рядом с каждым элементом следующим образом:

<a name="#175"></a>

Где этот элемент будет с идентификатором 175. Затем, когда вы перенаправляете обратно на PageA, добавьте «# 175» в конце URL

Response.Redirect("PageA.aspx#175");
1 голос
/ 22 октября 2008

Самый простой способ, который вы можете сделать, это передать обратно идентификатор из PageB в строке запроса в URL, перенаправляя обратно на PageA после сохранения в PageB.

например. www.example.com/PageA.aspx?editedId=89

и в PageLoad страницы PageA вы можете проверить это на странице сведений о редактировании, проверив, существует ли допустимое значение в HttpContext.Current.QueryStrubg ["editedId"], если был, значит это от PageB. Вы можете использовать это значение для выделения или выбора строки в сетке данных

Самая быстрая остановка пистолета. , . и продолжайте читать ...

Хороший элемент управления позволяет одновременно редактировать несколько строк на одной странице, например, на странице А, и сохранять их вместе. Проверьте свой Telerik контроль для datagrid. Тебе бы это понравилось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...