Я почти уверен, что ваш заголовок должен быть "глобальная переменная не содержит данных, которые я хочу".Словарь будет составлен каждый раз при загрузке страницы (обратная передача или иным образом), но из-за этой строки:
if(!isPostBack) {
}
он не будет содержать нужные данные на кнопкеclick.
Чтобы уведомить страницу о клике, выполняется сообщение назад , поэтому высказывание !isPostBack
(которое, я предполагаю, устанавливается где-то через Page.IsPostBack
)также говоря «если я не нажал кнопку», что, конечно, не то, что вы хотите.
Чтобы получить желаемую функциональность, вы должны либо убрать из этого словарь, еслиblock, или же имеется условие else, которое также заполняет его необходимыми данными.
Другая альтернатива использованию переменной class - это сохранение данных в другом месте.Опции включают ViewState
, Session
, Application
(если это действительно данные всего приложения), Cache
и некоторые другие.Непонятно, что именно делает словарь, поэтому трудно сказать, какое место будет наиболее подходящим.