2015-03-05 3 views
0

Привет, сообщество переполнения стека, это мой первый вопрос, и я постараюсь быть ясным. Я разрабатываю проект, который является школьной работой в ASP.NET C#.ASP.NET Изменение значения сеанса при изменении страницы

Im пытается изменить значение СЕССИИ, когда пользователь меняет WebForm с помощью любой кнопки или панели URl. Я уже пробовал с кодом JavaScript:

<script type="text/javascript"> 

     window.onbeforeunload = confirmExit; 

     function confirmExit() { 
      '<%Session["teste"] = "changed"; %>'; 
     } 

</script> 

Для тестирования В WebForm1 Даю на сессию значения в случае Pageload:

Session["teste"] = "teste"; 

Тогда, когда я иду в WebForm2 в адресной строке и Я печатаю значение SESSION на метке, результат «изменен», значение, которое я хочу, но если я перейду в WebForm2 с помощью кнопки ASP, значение SESSION по-прежнему будет «teste». Кто-нибудь знает, как я могу решить мою проблему? Благодарю.

+0

где находится этот javascript ..? вы используете MasterPage ..? также вы знакомы с методом OnSessionStart на странице Global.asax .. Я бы рекомендовал использовать 'HttpContext.Current.Session [" teste "]' vs 'Session [" teste "]' в Page_Load от MasterPage, который вы бы нужно проверить 'If (IsPost_Back) {}', а затем установить ваше значение .. vs пытается добавить 'Session [" teste "]' для каждого события загрузки страницы .. – MethodMan

+0

Im не используя MasterPages, этот код javascript находится в WebForm1. – Azazel

+0

Вы не можете установить переменную сеанса с помощью javascript, если вы не сделаете ajax-вызов страницы и не передадите значение через (но тогда вам все равно понадобится код на стороне сервера для его установки). – Pete

ответ

0

Информация Google о жизненном цикле страницы ASP.NET. Существует событие Page_OnUnload, которое срабатывает, когда пользователь переходит от страницы.

Я думаю, что есть способ подключиться к этому на всех страницах приложения, в Global.asax или на главных страницах, возможно? (Вам просто нужно сделать это во всех основных страницах, если у вас их больше одного)

+1

Спасибо за помощь, работает на 100%, меняя URL-адрес или кнопку ASP. Код: ' ' – Azazel

+0

Вы должны распечатать это и обратиться к нему - это отличный ресурс, я всегда смотрел на что-то подобное, когда я начал: http://3.bp.blogspot.com/_Li2NlT9UdAY/TB8AmvnH2II/ AAAAAAAAAEI/ldghqAYPu5Y/S1600/aspnet_page-контроль жизни-cycle.jpg – Tim

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