2012-04-13 2 views
8

Как сохранить переменные в asp.net между postback? Я использую HttpContext.Current.Items, но он всегда располагает после обратной передачи, есть ли другой способ сделать это?Лучший способ сохранить переменные между postbacks asp.net?

+0

Сессия, ViewState, кэш. найти информацию здесь http://msdn.microsoft.com/en-us/magazine/cc300437.aspx#S9 –

ответ

6

Если переменная не сериализации или вы не хотите, чтобы клиент, чтобы иметь возможность прочитать его значение => использовать InProc Session

Если ваша переменная сериализуем и вы не хотите, чтобы клиент, чтобы иметь возможность читать его значение => использовать базу данных Сессия

, если ваша переменная сериализуема, и вы можете жить с клиентом, считывающим его значение, и он должен жить только во время последовательности postbacks в области страницы => вам следует использовать ViewState.

5
ViewState["YourVariable"] = "123"; 

коллекция ViewState является средством для этой цели, в приведенном выше примере YourVariable является переменной whoes значение вы хотите сохранить и 123 это значение этой переменной.

ViewState доступен в пределах страницы. Если вы хотите иметь значения между разными страницами, вы можете использовать такие сеансы, как ViewState ["YourVariable"] = "123";

+0

Но ViewState полностью зависит от клиента> server <клиент И мне нужно что-то, что я могу получить из другого класса , – Endiss

+1

ViewState доступен в пределах страницы. Если вы хотите иметь значения между разными страницами, вы можете использовать такие сеансы, как ViewState ["YourVariable"] = "123"; – Adil

+2

Вы имели в виду: если вы хотите иметь значения между разными страницами, вы можете использовать такие сеансы, как Session [YourVariable]] = «123»; – sajad

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