Текущий архив: 2009.08.16;
Скачать: CL | DM;
Вниз
asp.net и взаимодействие страниц Найти похожие ветки
← →
василий иванович (2009-06-19 12:10) [0]Ищется способ передачи данных между двумя страницами aspx.
Конкретно:
Есть первая страница aspx с гридом и набором контролов, для фильтрации данных.
Грид разбит постранично и страница предназначена для "живого" просмотра данных юзером на экране.
Кроме этого есть скажем кнопка, по которой пользователь должен перейти на другую страницу, на которой те же данные будут представлены в версии для печати.
Сами данные поставляются хранимой процедурой MSSQL.
Собственно проблема в чем:
На первой странице я имею все требуемые данные для выполнения хранимой процедуры (параметры для нее) и там же могу получить данные для печати.
Но Исходная страница с гридом и контролами уже не должна быть видна
Либо мне надо как-то сделать редирект юзера на страницу печати и передать туда все значения контролов. Через гет-параметры неудобно и наверное не всегда допустимо, так как есть ограничение на длину гет-запроса.
Как можно наиболее элегантно выйти из положения?
← →
Loginov Dmitry © (2009-06-19 12:17) [1]Если что, то есть специализированный форум по ASP.NET:
http://sql.ru/forum/actualtopics.aspx?bid=19
Там Вы можете рассчитывать на наиболее оперативное решение проблемы.
← →
palva © (2009-06-19 12:44) [2]Положите тот объект, который обеспечивает содержимое грид (SqlTable, наверное) в сессионную переменную. А на новой странице сделайте DataBind с этой переменной.
← →
василий иванович (2009-06-19 12:55) [3]на первой странице у меня sqldatasource настроенный на хранимую процедуру (возвращает надор данных для грида).
на второй странице (либо это будет просто http обработчик) предполагается вызывать другую процедуру, которая возвращает данные в виде varchar(max) /*внутри xml документ, который будет форматироваться в таблицу через xsl*/
то есть мне надо либо передать параметры процедуры http обработчику или странице и получить данные уже там,
либо выполнить вторую процедуру и xsl преобразование в коде первой страницы, и как-то после этого показать только тот контент, что получится после трансформации xsl
← →
b z (2009-06-19 13:17) [4]Убрать 2-ю страницу, все делать в одной.
← →
Cobalt © (2009-06-19 13:20) [5]Некоторые делают хитрым способом:
Данные одни и те же, но стили для отображения меняют.
что не надо - скрывают, что надо - размещают в нужном порядке на страничке.
← →
palva © (2009-06-19 13:35) [6]Сначала я вас не очень понял. Прочитал - версия для печати. Сначала понял, что данные одни и те же, и, типа, вы не хотите обращаться второй раз к базе данных. Тогда надо передать на вторую страницу SqlDataTable через Session и дело с концом. Если же у вас на первой странице получены только параметры для хранимой процедуры, то сохраните в Session параметры прямо в виде одной переменной SqlParameterCollection Гонять же эти данные через клиент, да еще если их, как вы пишете, много, по-моему, не логично.
← →
palva © (2009-06-19 13:39) [7]
> Убрать 2-ю страницу, все делать в одной.
Самое естественное решение, если печатать страничку в любом случае будут.
← →
василий иванович (2009-06-19 14:26) [8]В общем пока сделал мультивью.
На одном вью все что было на первой странице, на втором вью asp:xml
По кнопке он биндится к полученным данным и активный вью переключается.
А вообще на будущее, наверное же можно на первой странице оформить пост запрос с параметрами для sp к http обработчику (в версии для печати же не требуется поддержка интерактива и какие-то серверные контролы).
А уже в в классе обработчика вынуть параметры, выполнить процедуру и сгенерировать контент?
← →
василий иванович (2009-06-19 15:43) [9]все делать в одной странице не очень подходит.
все страницы используют masterpage, а на ней много всего лишнего в шапке страницы.
на печать это выводиться не должно, а рулить видимостью очень не хочется
← →
b z (2009-06-20 12:31) [10]
> все делать в одной странице не очень подходит.
Выделить в контрол.
← →
Иксик © (2009-06-20 13:44) [11]Имхо palva предложил самый логичный вариант: формировать таблицу/ряд на первой странице и в переменной сессии ее передавать на вторую.
Страницы: 1 вся ветка
Текущий архив: 2009.08.16;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.02 c