如何使用HTML.Action()模仿浏览器后退按钮?

时间:2013-03-09 21:22:34

标签: asp.net-mvc asp.net-mvc-4

我有一个MVC 4应用程序,其中包含一个视图,用户可以在其中输入搜索条件(在表单中),然后在搜索表单下方的表格中显示结果。对于表格中的每一行,用户可以单击加载另一个视图的链接,该视图显示他/她所选项目的详细信息。

在这个详细信息视图中,我有一个链接,可以让用户从他/她可以使用以下内容返回:@Html.ActionLink("Back to List", "Index")。当用户单击此链接并返回搜索表单时,他/她输入的所有搜索条件都将消失。但是,如果用户单击浏览器上的“后退”按钮,则会保留搜索条件。有没有办法可以调用ActionLink来模仿Back按钮的作用?或者也许是JavaScript?我是MVC和JavaScript的新手。

2 个答案:

答案 0 :(得分:4)

最简单的方法是使用javascript history API

window.history.back();

here是小提琴

答案 1 :(得分:0)

这是一个HtmlHelper扩展,可以解决问题。

public static class Helpers
{
    public static MvcHtmlString BackViaHistory(this HtmlHelper helper, string linkText)
    {
        return new MvcHtmlString("<a onclick='javascript: window.history.back();'>" + linkText + "</a>");
    }
}