![](/img/trans.png)
[英]How to get fresh page after pressing F5 or refresh icon in browser in MVC5 when errors occured?
[英]Force reload the browser when pressing F5 or refresh button
我正在使用ASP.NET和C#開發Web應用程序。
我遇到一個問題,當我按下“ F5”或“刷新按鈕”時,在下拉列表中更改值后,它又變回第一個值。
但是,如果我按“ Ctrl + F5”,則下拉列表不會更改。
經過分析,我發現Ctrl + F5正在強制重新加載。
所以現在我想在按F5或刷新按鈕或同時按Ctrl + R時做同樣的事情。
怎么做..? 我還需要確定使用哪個瀏覽器。因為這僅在Firefox中發生。
另外,我在哪里(哪個事件)進行編碼..?
我認為解決此問題的最佳方法是使用Javascript中的onunload (或onbeforeunload
)事件將下拉列表的選定值保存到Web存儲中。
然后,您只需使用onload事件在頁面加載后將其取回即可。
編輯-示例代碼
因此,這是您的下拉列表:
<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
嘗試這個。 這將以相同的方式對待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");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.