返回上一个部分视图的按钮

时间:2014-11-18 12:40:24

标签: c# .net ajax asp.net-mvc ajax.beginform

在我的.Net MVC4项目中,该视图包含部分视图,在每个具有选项Ajax.Beginform的相应InsertionMode = InsertionMode.Replace,之后,部分视图替换为另一个视图 所以senario是

  1. Partialview1首次展示Ajax.Beginform来电
  2. 提交表单,partialview2渲染于第二个Ajax.beginform,因此partialview1将被partialview2取代
  3. 3. 上一个按钮会调用partialview1

    我想知道如何使用简单的历史记录来实现上一个部分视图的步骤3。

1 个答案:

答案 0 :(得分:0)

第一种方式:我认为使用浏览器后退按钮执行此操作的最佳方法是使用history.pushState

如何实施它取决于您在View上的情况。

有关pushState的一些链接:

http://rosspenman.com/pushstate-jquery/

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history

第二种方式:如果你不想使用浏览器,那么你可以使用js:

function getBack()
{
   $.ajax({
     type: "GET",
     url: '@Url.Action("ReturnPartialViewControllerMethod")',
     success: function(data) {
           // data is your view
          $('#divForParticialView').html(data);
     }
   });
}

并在你的Html中:

<a href="javascript:void(0);" onclick="getBack()">Get Back</a>