如何使用MVC保留自定义分页的数据(表单)?

时间:2014-03-10 07:26:10

标签: asp.net-mvc pagination

我有一个网格(使用脚手架选项生成的列表)和搜索条件。我创建了分页概念。我输入了搜索条件数据和搜索,在回发后,我使用TempData保留了表单数据。但是,如果我单击网格中的页码,表单数据不会保留,网格也会刷新。

有没有办法保留分页数据?

谢谢!

1 个答案:

答案 0 :(得分:0)

我使用JavaScript在表单中动态添加了一个隐藏字段。页码存储在隐藏字段中,当用户单击页码时,则提交表单。它运作良好,没有任何问题。

寻呼:

<button onclick="navigateTo(this, '@Url.RouteUrl("Defined_Route", new { currentPage = j })');">@j</button>

使用Javascript:

$(function () { //Page Load - Create hidden field, if search button found
    if ($("#search")) // Button id
    {
        var element = document.createElement("input");
        element.type = "hidden";
        element.id = "currentPage";
        element.name = "currentPage";
        element.value = '@TempData["Page"]';
        if (isNaN(element.value)) element.value = "1";
        $(to).parent().append(element);
    }
});

function navigateTo(field, url)
{
    $("#currentPage").val(field.innerText);
    if (isNaN($("#currentPage").val()))
    {
        location.href = url;//This is for direct url, ie. no search form
    }
    else
    {
        $("form").action = url;
        $("form").submit();
    }
}