Альтернатива строкам запроса для передачи данных между страницами ASP.Net?

В настоящее время я использую ряд параметров строки запроса для передачи некоторых данных с одной страницы на вторую страницу (параметры содержат сообщения подтверждения/ошибки для отображения на второй странице), которые из-за стороннего продукта больше не могут работать правильно в производственную среду. Пользователь выполняет действие на первой странице, а затем переходит на вторую страницу. Какие возможные альтернативы использовать вместо строки запроса и GET — переменные сеанса, данные POST или что-то совершенно другое?

Спасибо, MagicAndi.


person MagicAndi    schedule 20.01.2010    source источник
comment
Мади, файлы cookie не подходят для этого конкретного сценария. Кроме того, я сам больше люблю пищеварительные печенья.   -  person MagicAndi    schedule 20.01.2010
comment
я догадался, что в вашем случае это будет не совсем уместно, поэтому я написал это как комментарий, а не как ответ ;) .. но, честно говоря, пищеварительный бисквит!   -  person Madi D.    schedule 20.01.2010


Ответы (3)


Вы можете создать общедоступные свойства на исходной странице и получить доступ к значениям свойств на целевой странице при использовании передачи сервера. Вы также можете получить информацию об элементах управления на целевой странице из элементов управления на исходной странице, обратившись к свойству Page.PreviousPage.

Оба этих метода описаны здесь: http://msdn.microsoft.com/en-us/library/6c3yckfw.aspx

person Jace Rhea    schedule 20.01.2010
comment
на самом деле все методы, предлагаемые в качестве ответов, уже упоминаются на этой странице msdn, поэтому +1 за действительно полезную ссылку! - person Madi D.; 20.01.2010
comment
jacerhea, прими мои извинения, разместил комментарий выше, а потом забыл отметить ответ как принятый! Очень плохая форма с моей стороны. - person MagicAndi; 07.02.2010

И данные POST, и переменные сеанса будут работать нормально. Данные POST имеют тот недостаток, что они могут быть изменены клиентом, а переменные сеанса занимают память, поэтому вы можете выбирать на основе этого. Я лично не думаю, что вы должны передавать такие сообщения клиенту по причине, указанной выше, но я думаю, вы уже это делаете, так что...

person Klaus Byskov Pedersen    schedule 20.01.2010

вы можете использовать это, если используете window.open("openTheotherPage",... и т.д.)

поэтому сформируйте открытую страницу, вы можете сделать что-то вроде этого

var valuefromCallerPage = window.opener.document.FormNmae.textbox.value

или кнопка или что-нибудь на странице вызывающего абонента

person Hiyasat    schedule 20.01.2010