与window.history.back()不一致

我在MVC视图中有以下代码,我用它来测试window.history.back()

在此处输入图像描述

如果用户单击段落标记内的链接(以红色突出显示),则window.history.back()将按预期执行。 它将我带回到上一页,并在该页面上保持状态。 但是,如果用户单击该按钮,我不会得到相同的行为。 重新加载当前视图,或者至少尝试重新加载当前页面。 但它失败了。 并且无论jQuery是否被执行,或者我在Button onClick中调用window.history.back()调用,都会发生同样的事情。

一条可能有用的信息。 该按钮位于HTML.BeginForm中,而段落标记中的行则不是。

任何人都知道为什么会这样吗?

浏览器可能将按钮解释为提交按钮并提交表单,从而导致页面刷新。 添加type="button"将阻止这种情况。

  
 $('#cancelButton').click(function(e){ e.preventDefault(); /* ... code ... */ });