返回按钮到上一个局部视图
Posted
技术标签:
【中文标题】返回按钮到上一个局部视图【英文标题】:Back button to previous partialview 【发布时间】:2015-01-15 15:47:58 【问题描述】:在我的 .Net MVC4 项目中,视图包含部分视图,在每个对应的 Ajax.Beginform
和选项 InsertionMode = InsertionMode.Replace,
之后替换为另一个部分视图
所以 senario 是
-
Partialview1 在第一次
Ajax.Beginform
调用时呈现
提交表单,partialview2 在第二次渲染Ajax.beginform
,所以partialview1 被partialview2 替换
3. 上一个按钮调用 partialview1
我想知道如何实现 step3 以返回上一个部分视图,并返回一些简单的历史记录。
【问题讨论】:
【参考方案1】:第一种方法:我认为使用浏览器后退按钮的最佳方法是使用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>
【讨论】:
Ty 回复,浏览器后退按钮并不是我真正要搜索的内容,需要在大 html 视图的一部分上返回一些东西 我认为你应该使用 js 并在ajax
调用上替换部分 DOM。
我想我可能会从你所说的得到一个想法,InsertionMode = InsertionMode.Replace
确实清除了 html 标记的内容并替换为新内容,但是如果我创建一个空的保留元素并在其中填充内容相反,因此需要替换的元素可以使用.hide()
是的,你说得对。正如我所说,这取决于您的情况。我用一些例子更新了答案。以上是关于返回按钮到上一个局部视图的主要内容,如果未能解决你的问题,请参考以下文章
按一次返回按钮停留在同一个片段上,如果按两次,它将返回到上一个片段
自定义 UIView XIB 内的 iOS 导航返回按钮(无导航控制器)