我正在创建一个 MVC 应用程序。有必要在关闭应用程序(即窗口/选项卡)时使会话中的变量为空,但在刷新应用程序时不需要。我通过以下代码进行了尝试。
<script type="text/javascript">
window.onbeforeunload = function (e) {
e = e || window.event;
if (window.event.keyCode == 116) {
alert("f5 pressed");
}
else {
alert("Window closed");
//call my c# code to make my variable null, eg:Session["myVariable"] = null;
}
};
</script>
但是当按下 F5 时,“window.event.keyCode”总是 0 而不是 116。因此,即使按下 F5 键,我的变量也会变为空,这不是我的要求。
即使应用程序(即网页)关闭,即使它是 0(这可能是正确的)。
请注意,上述部分代码位于 .cshtml 文件中。
谁能告诉我哪里错了?