2013-06-19 4 views
-3

Есть ли у вас какие-либо идеи по истечению срока действия сеанса на кнопке обновления браузера только в asp.net. Благодарю. Вы также можете предоставить свои ответы на C# или Js или Jquery ...Завершение сеанса на кнопке обновления браузера

+1

Добро пожаловать в Stackoverflow. Здесь нет [настоящего вопроса] (http://meta.stackexchange.com/questions/145677/what-is-a-real-question). Вы что-нибудь пробовали? Покажите свои усилия, чтобы люди могли показать их. Пожалуйста, прочитайте [FAQ] и [ask] –

+0

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

+0

У меня действительно нет идеи. Поэтому я не размещал код. – Dylan

ответ

1

в C# использование:

Session.Abandon(); 

Это очистит все сессии и назначить новый ключ сеанса и Session_OnEnd() событие также будет уволен.

Logic, чтобы проверить, если страница обновляется

Если вы хотите, чтобы проверить обновления страницы или нет, то вы можете использовать куки для этого вопроса.

Храните файл cookie, когда страница посещается в первый раз. При обновлении проверьте, существует ли ваш файл cookie или нет.

см: Check if page gets reloaded or refreshed in Javascript

на этом основании можно применить четкую сессию, когда ваша страница обновляется.

Вот код для справки:

$(document).ready(function() { 
    if(document.cookie.indexOf('mycookie')==-1) { 
    // this mean cookie doesn't exist and user visited first time 
    document.cookie = 'mycookie=1';//set the cookie to check for next time 
    } 
    else { 
    // cookie is not null i.e. page is refreshed, 
    //So, make an ajax call to handler and use Session.Abandon() on handler in c# code. 
    } 
}); 

Кроме того, когда браузер будет закрыт, печенье будет автоматически очищается.

+0

Я знаю, как отказаться от сеанса. Я хочу очистить сеанс только на кнопке обновления браузера ... – Dylan

+0

Сначала проверьте, обновляется ли ваша страница или нет с помощью файлов cookie, если да, то используйте ajax-вызов обработчику, который очищает сеанс. –

+0

Как вы узнаете, что Страница обновляется, а не посещается во второй раз? – Alexander

1
//this will solve the postback part (button click). 
//The refresh you should handle with querystring params 
protected void Page_Load(object sender, EventArgs e) 
{ 
    if(Page.IsPostBack) 
    Session.Abandon(); 
} 
+1

PageIsPostBack будет проверяться на false при обновлении. Это используется, чтобы знать, когда выполняется обратная передача, а не знать, выполняется ли обновление. – Narendra

+0

Я знаю это. Вы прочитали комментарий в моем коде? –

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