2013-10-03 4 views
-1

Мне нужно обмениваться данными (строкой, списком, массивом) между двумя разными страницами aspx одного и того же приложения. Каков наилучший способ сделать это, если я не хочу использовать файлы cookie и не хочу, чтобы данные отображались в URL-адресе.Обмен данными между страницами aspx

a) Form post method 
b) Session (cookies?) 
c) Sql 
d) Server.Transfer 

Благодаря

ответ

1

В памяти Session будет самым простым и быстрым (разработка-накрест) для хранения данных между страницами без их содержимое должно быть видно в строке запроса (URL), например:

хранить в SessionList<string>, сделайте следующее:

var listOfStrings = new List<string>(); 
listOfStrings.Add("1"); 
listOfStrings.Add("2"); 
listOfStrings.Add("3"); 

Session["ListOfStrings"] = listOfStrings; 

Чтобы получить List<string> из Session, сделайте следующее:

// Check to see if item in Session is actually there or not 
if(Session["ListOfStrings"] != null) 
{ 
    // Cast the item in Session to a List<T>, because everything in Session is an object 
    var myListOfStringsRetrieved = Session["ListOfStrings"] as List<string>; 
} 

Примечание: Я предполагаю, что вы используете C#, но это может быть легко переведен на VB.NET.

0

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

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