Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
15-1245357007
Юрий
2009-06-19 00:30
2009.08.16
С днем рождения ! 19 июня 2009 пятница


15-1245067891
Пит
2009-06-15 16:11
2009.08.16
HTML, разворачивание элемента


15-1245060539
12
2009-06-15 14:08
2009.08.16
Автоматизировать работу с КПК. (Копировать файлы)


15-1245433518
Урсулапов_
2009-06-19 21:45
2009.08.16
Cranberries - Animal Instinct


15-1245045762
Knight
2009-06-15 10:02
2009.08.16
Помогите теорией. Полигон по направляющей полилинии.