如何创建“后退按钮”提交以返回先前的部分视图?

时间:2014-05-06 03:56:52

标签: c# asp.net-mvc asp.net-mvc-partialview

我为此搜索了我的心脏。在asp.net mvc中,我有一个加载部分视图的表单。我想在此表单上放置一个后退按钮,以便用户可以返回上一个部分视图。 (不是浏览器后退按钮,而是输入类型提交后退按钮。)它需要保留我在会话中已经拥有的上一个局部视图中的信息。

3 个答案:

答案 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>