4

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

在此处输入图像描述

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

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

有谁知道为什么会这样?

4

2 回答 2

8

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

<button type="button">Cancel</button>
于 2013-04-01T19:45:42.010 回答
4
$('#cancelButton').click(function(e){
    e.preventDefault();

    /* ... code ... */
});
于 2013-04-01T19:37:37.623 回答