Альтернатива перезаписи переменной сеанса - PullRequest
0 голосов
/ 23 декабря 2011

У нас есть система проверки, где я работаю. Менеджер выбирает сотрудника для проверки, который затем устанавливает EmployeeID в качестве переменной Session ["EmpID"]. Теперь менеджер может ввести информацию для указанного сотрудника.

Наш выпуск: Когда менеджер открывает другую вкладку или окно в браузере (например, Internet Explorer), ищет другого сотрудника, он устанавливает идентификатор сотрудника # 2 в качестве переменной Session ["EmpID"], перезаписывая первый. Когда менеджер возвращается к Сотруднику № 1 и вводит информацию, он полагает, что вводит информацию для № 1, однако он вводит ее как № 2, так как он выбрал ее последним.

У кого-нибудь есть идеи, чтобы этого не случилось?

Ответы [ 2 ]

1 голос
/ 23 декабря 2011

Звучит более целесообразно хранить empID в скрытом поле / теге в содержимом страницы. Сохраните свою запись на основе этой string record = span.innerText , потому что это будет на странице, а не в сеансе

1 голос
/ 23 декабря 2011

При использовании просмотра с вкладками вы фактически используете тот же сеанс asp.net, и поэтому, если вы не отделяете кеш одной страницы от других, вы получаете те же данные.

Если ваши страницы используют сеанс для хранения данных, используйте уникальный идентификатор (например, GUID) в качестве префикса для ключа. Храните проводника в скрытом поле или в ViewState.

Может быть, этого будет достаточно для хранения EmpID в ViewState . Тогда Tab1 сохранит свое значение, даже если Tab2 имел другое значение.

...