Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按F5或刷新按钮时强制重新加载浏览器_C#_Javascript_Asp.net - Fatal编程技术网

C# 按F5或刷新按钮时强制重新加载浏览器

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事件将下拉列表中

我正在使用ASP.NET和C开发一个web应用程序

我面临一个问题,当我按F5或刷新按钮时,在更改下拉列表中的值后,它会更改回第一个值

但是如果我按Ctrl+F5,下拉列表不会改变

经过分析,我发现Ctrl+F5正在强制重新加载

所以现在我想在按下F5或刷新按钮或Ctrl+R时做同样的事情

怎么做。。?我还需要确定哪个浏览器。。因为这只发生在Firefox中


另外,我要在哪里对哪个事件进行编码?

我认为解决这个问题的最佳方法是使用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");
    }

}