按下“ESC”键时,如何导航到上次访问的页面。我怎么能用Asp.net mvc(c#)做到这一点。请帮忙
答案 0 :(得分:6)
转义键不会导致任何类型的回发,因此您将无法使用.net排它。你需要做的是用Javascript捕获转义按键。
document.onkeydown = function(e){
if (e == null) { // ie
keycode = event.keyCode;
} else { // mozilla
keycode = e.which;
}
if(keycode == 27){ // escape, close box, esc
// Go back one page
history.back()
}
};
答案 1 :(得分:1)
我认为你可以用一些JavaScript来做到这一点。以下链接将使用JavaScript历史记录对象在历史记录中导航回来。
< a href =“javascript:history.go(-1)”>返回< / a>
将按键事件附加到文档以监视esc键,然后使用历史记录对象。
鲍勃
答案 2 :(得分:0)
您需要使用history.back()
在JavaScript中执行此操作。
答案 3 :(得分:0)
我发现这个问题'因为我遇到了类似的问题。 rockinthesixstring的例子在IE中运行良好,但在Firefox中运行不正常。 alert()即使在Firefox中也可以,但不是history.back()。事实上,我把history()放在history.back()之后,我得到了警报但不是我的历史记录。相同的代码在输入或任何其他键上工作正常。在firefox中,似乎如果你按下转义键时尝试做一些事情,它会继续处理转义键,然后取消你想要做的任何事情。最后发现我必须强制事件的传播停止,如下所示...
// Check for escape key
if (keyCode == 27)
{
// Go back in our history
history.back();
if (window.event)
{
// IE works fine anyways so this isn't really needed
e.cancelBubble = true;
e.returnValue = false;
}
else if (e.stopPropagation)
{
// In firefox, this is what keeps the escape key from canceling the history.back()
e.stopPropagation();
e.preventDefault();
}
return (false);
}