C# 按F5或刷新按钮时强制重新加载浏览器
我正在使用ASP.NET和C开发一个web应用程序 我面临一个问题,当我按F5或刷新按钮时,在更改下拉列表中的值后,它会更改回第一个值 但是如果我按Ctrl+F5,下拉列表不会改变 经过分析,我发现Ctrl+F5正在强制重新加载 所以现在我想在按下F5或刷新按钮或Ctrl+R时做同样的事情 怎么做。。?我还需要确定哪个浏览器。。因为这只发生在Firefox中C# 按F5或刷新按钮时强制重新加载浏览器,c#,javascript,asp.net,C#,Javascript,Asp.net,我正在使用ASP.NET和C开发一个web应用程序 我面临一个问题,当我按F5或刷新按钮时,在更改下拉列表中的值后,它会更改回第一个值 但是如果我按Ctrl+F5,下拉列表不会改变 经过分析,我发现Ctrl+F5正在强制重新加载 所以现在我想在按下F5或刷新按钮或Ctrl+R时做同样的事情 怎么做。。?我还需要确定哪个浏览器。。因为这只发生在Firefox中 另外,我要在哪里对哪个事件进行编码?我认为解决这个问题的最佳方法是使用Javascript中的或onbeforeuload事件将下拉列表中
另外,我要在哪里对哪个事件进行编码?我认为解决这个问题的最佳方法是使用Javascript中的或onbeforeuload事件将下拉列表中的选定值保存到 然后,您只需在使用事件加载页面后将其取回即可 编辑-示例代码 下面是您的下拉列表:
<select id="list">
<option>A</option>
<option>B</option>
<option>C</option>
</select>
我在Firefox26.0Linux上的本地页面上测试了它,它成功了。请参阅正在工作的JSFIDLE试试这个。这将以相同的方式处理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");
}
}
如果您点击F5或刷新按钮,您正在重新加载页面,这与回发不同,因此您的下拉列表将变为默认值。我不知道为什么Ctrl+F5没有做同样的事情,这应该是一个完整的刷新。我也不清楚为什么在按F5时要保留一个值。无论如何,你能给出一些上下文吗?@owen79,我正在报告页面中使用它。。所以它必须保持该值,直到我按下保存按钮。。其他值或标签形式,因此无法更改..SSRS允许此更改参数->更新报告->更改参数->更新报告,无需重新发明轮子来提供reports@Alex,在其更新报告中。。没有什么问题。。仅此页中的问题。。如果我点击“保存前刷新”按钮,它会变回默认值..你能发布示例编码吗..你试过JSFIDLE吗?如果是这样,您可以使用firebug在本地存储中查看mySavedValue吗?抱歉,无法在JSFIDLE中尝试。。因为,当我按F5或刷新时,它会要求离开页面或停留在页面上。。如果我选择“离开”意味着整个事情都会重新加载。。所以我得从头再来一次。。如果我选择停留在页面measn上,它不会重新加载..我不会将此行为写入JSFIDLE。但无论如何,你有两个选择:首先,你在选择不同的“a”值后点击run按钮,最好是为了模拟页面刷新,或者你可以在点击F5后点击Leave按钮,这也应该有效。是的,我也做了同样的事情。。但刷新后,我已单击运行。。然后只有下拉控件可见。。
<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");
}
}