Как передать скрытое поле с одной страницы на другую? - PullRequest
0 голосов
/ 22 сентября 2009

У меня есть библиотека классов .Net. Я хочу передать скрытую переменную из когда-то кода за страницей и извлечь ее из другого кода за страницей. Пожалуйста, обратите внимание, у меня нет какой-либо страницы дизайна (aspx страница), где я могу использовать тег формы и метод get / post. Как мы можем это сделать?

Примечание: я хочу использовать скрытые поля для передачи значения с одной страницы на другую.

Ответы [ 5 ]

1 голос
/ 22 сентября 2009

вы можете сохранить значение в сеансе как:

Session["YourName"] = yourvalue;

в коде позади вас сделать это:

Session["MyValue"] = "theValueYouWantToPass";

на другой странице вы делаете:

string valueFromAnotherPage = Session["MyValue"].ToString();
1 голос
/ 22 сентября 2009

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

Например,

Установка значения сеанса

Session["HiddenValue"] = "something";

Получение значения сеанса

string something =  (string)Session["HiddenValue"];

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

Вот хороший ресурс, чтобы узнать о сеансах и состоянии сеанса .

0 голосов
/ 22 сентября 2009

Как насчет постбэков между страницами (см. Постраничное размещение страниц на веб-страницах ASP.NET, http://msdn.microsoft.com/en-us/library/ms178139.aspx)? Никогда не использовал его, но это мог бы быть вариант. В противном случае вы можете получить доступ к скрытому элементу формы через Старая школа Request.Form. Другой вариант может заключаться в том, чтобы всегда иметь этот скрытый элемент на каждой странице, помещая его на главную страницу. Затем вы выставляете его как общедоступное свойство и можете получить / установить его в соответствии с вашим сердцем.

0 голосов
/ 22 сентября 2009

Вы можете использовать Session или HttpContext.Current.Items. Если ваше значение является временной переменной, я предлагаю использовать HttpContext.Current.Item вместо сеанса, поскольку он пропадет, как только текущий HttpContext исчезнет, ​​но элементы, которые хранятся в Сессия не будет очищена, пока сессия не закончится.

Session["var"]=value;

var value=Session["var"];

HttpContext.Current.Items["var"]=value;

var value=HttpContext.Current.Items;
0 голосов
/ 22 сентября 2009

Вы могли бы использовать переменную Session? Они не мои предпочтения, но это удовлетворит вашу потребность.

Session["VariableName"] = something;

object somethingOnNextPage = Session["VariableName"];

Доброжелательность,

Dan

...