2014-01-23 2 views
0

Я разработки веб-приложений с использованием ASP.NET и C# ..Force перезагрузить браузер при нажатии F5 или кнопку обновления

я столкнулся вопрос, что, когда я нажимаю «F5» или кнопку «Обновить », после изменения значения в списке, она изменяется обратно к первому значению ..

Но если нажать„Ctrl + F5“, выпадающий список не меняется ..

после анализа я нашел Ctrl + F5 делает силу перезагрузки ..

Так что теперь я хочу сделать то же самое, когда я нажимаю F5 или обновляю прикладом on или Ctrl + R также.

Как это сделать ..? Мне нужно определить, в каком браузере также .. Потому что это происходит только в Firefox ..

Кроме того, где (какое событие) я должен делать это кодирование ..?

+0

Если вы нажмете клавишу F5 или кнопку вы делаете перезагрузку страницы, которая не является такой же, как постбэка обновить поэтому ваше раскрывающееся меню пойдет на значение по умолчанию. Я не уверен, почему Ctrl + F5 не делает то же самое, что должно быть полным обновлением. – owen79

+0

Я также не понимаю, почему вы хотите сохранить значение при нажатии F5 в любом случае, можете ли вы дать какой-то контекст? – owen79

+0

@ owen79, я использую его на странице отчета .. Поэтому он должен сохранять это значение до тех пор, пока я не нажму кнопку сохранения. Другие значения или в форме ярлыка, поэтому изменить нельзя. – Sakthi

ответ

0

Я думаю, что лучший способ решить эту проблему, чтобы сохранить выбранное значение вашего раскрывающегося списка в web storage используя событие onunload (или onbeforeunload) в JavaScript.

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

EDIT - образец кода

Итак, вот ваш выпадающий список:

<select id="list"> 
    <option>A</option> 
    <option>B</option> 
    <option>C</option> 
</select> 

Теперь давайте посмотрим Js:

window.onload = function() { 
    window.document.getElementById('list').selectedIndex = localStorage['mySavedValue']; 
}; 

window.onunload = function() { 
    localStorage['mySavedValue'] = window.document.getElementById('list').selectedIndex; 
}; 

Я тестировал его на локальном странице на firefox 26.0 (linux), и он сработал. См. Работу jsFiddle here

+0

Может ли постпоставить кодировку кода? – Sakthi

+0

Извините, его не работает для меня .. – Sakthi

+0

Вы пробовали jsFiddle? Если да, можете ли вы увидеть mySavedValue в localstorage с помощью firebug? –

0

Попробуйте это. это будет относиться к F5 и Ctrl + F5 таким же образом ....

<script language="javascript" > 
var ctrl = false; 
document.onkeydown = function() { 
    if (event.keyCode == 17) { 
     ctrl = true; 
    } 

    if (event.keyCode == 116 && ctrl == true) { 
     //alert("ctrl+f5"); 
     window.location.relord(); 
     ctrl = false; 
    } 
    else if (event.keyCode == 116 && ctrl == false) { 
     window.location.relord(); 
     //alert("f5"); 
    } 

} 

+0

'lord' или' load' – Sakthi

+0

извините, это перезагрузка –

+0

Нет разницы .. Его не работает .. – Sakthi

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