2010-07-29 2 views
2

У меня есть следующий сценарий, который я хотел бы реализовать.Открытие сетки в новом окне, передача параметров между страницами

У меня есть несколько выпадающих списков, на которые клиент может выбрать диапазон критериев. Из этого они будут нажимать кнопку, запрос будет сгенерирован и низкий, и вот, gridview будет создаваться в новом окне (или, по крайней мере, дать такое впечатление), привязанным объектным источником данных. Я также хотел бы, чтобы пользователь мог вносить изменения в поиск несколько раз, чтобы они могли генерировать несколько новых окон/gridviews.

Итак, что было бы лучшим подходом для достижения этого результата?

Мое первоначальное мышление состояло в том, чтобы создать запрос, сгенерированный выбранными критериями выбора клиента (в выпадающих списках), новая страница затем выполнила бы запрос и заполнила бы gridview здесь. Моя озабоченность этим подходом заключается в том, что строка запроса может быть чудовищем ... существуют ли какие-либо недостатки для создания смехотворно длинной строки запроса?

В качестве альтернативы, существуют ли какие-либо другие методы или идеи, которые люди использовали для создания аналогичного желаемого эффекта?

Любые предложения приняты на борту и все советы, полученные теплом.

ответ

1

Нет ничего плохого в длинном querystring; он просто не так чист или прост в использовании, как решение для сеансового объекта Jeroen. Сохранение значения объекта сессии:

Session ("ObjectName") = VARIABLENAME

Получить его:

VARIABLENAME = Session ("ObjectName")

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

+0

Можно ли иметь несколько экземпляров gridview/window, если определены «одни и те же» переменные сеанса? Будет ли конфликт какой-то? Это даже имеет смысл ?! –

+0

Да, я понимаю, что вы имеете в виду. Он может работать до тех пор, пока вы установите значения сеанса в правильных местах. Например, в событии клика, который открывает каждое всплывающее окно. Таким образом, данные будут перезаписаны каждый раз, когда это необходимо. – jason

1

Вы можете обработать событие Click кнопки и сохранить переменные, которые вам нужны в объекте Session. В новом окне с вашим gridview вы берете эти значения и назначаете их соответствующим параметрам в выбранном событии ObjectDataSource.

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