我为此搜索了我的心脏。在asp.net mvc中,我有一个加载部分视图的表单。我想在此表单上放置一个后退按钮,以便用户可以返回上一个部分视图。 (不是浏览器后退按钮,而是输入类型提交后退按钮。)它需要保留我在会话中已经拥有的上一个局部视图中的信息。
答案 0 :(得分:0)
将部分视图的名称放在隐藏字段中。
当你回发时,渲染而不是局部视图。
所以解释一下,你会在表格中使用你的部分名称来渲染一个隐藏的字段。然后模型将其绑定到post方法。
从post方法调用相同的视图,但这次会从隐藏字段渲染部分视图。
答案 1 :(得分:0)
我在不使用History.js等工具的情况下解决了这个问题。我在_Layout中添加了一个名为Navigate的方法,这会导航到部分视图。这些调用保存在堆栈中,因此我知道导航的内容(我正在保存实际的ActionLink文本)。
当用户单击Back时,我弹出堆栈两次,从而给我上一页,然后我使用NavigateTo转到此页面。
答案 2 :(得分:0)
你可以通过jquery来做,在你的表单上放一个按钮并在其上调用以下jquery函数..
function BacktoPartial() {
$.get('/URL to your Partial View',
function (data) {
$('#Yourdiv --Where you are rendering partial view').html(data);
})
.done(function (data, textStatus, jqXHR) {
});
}
更新了代码示例:
<script type="text/javascript">
$("#btnBack").click(function (event) {
BacktoPartial();
});
function BacktoPartial() {
$.get('/URL to your Partial View',
function (data) {
$('#Yourdiv --Where you are rendering partial view').html(data);
})
.done(function (data, textStatus, jqXHR) {
});
}
</script>
现在我在这里使用锚并给它按钮形状;如果需要,您可以在视图中添加按钮而不是锚点。以下是示例代码:
<a class="btn btn-primary" id="btnBack" href="javascript:void(0);"><i class="icon-search icon-white"></i>BACK</a>