使用ajax调用部分查看分页问题

时间:2017-07-02 23:39:40

标签: asp.net-mvc-4 asp.net-ajax partial-views webgrid

我有一个带有搜索按钮的对话框弹出窗体,每次点击搜索时我都使用ajax调用一个动作方法。该方法根据用户输入的过滤器从db获取数据,然后action方法返回将显示webgrid的局部视图。我的问题是,当它显示webgrid的第一页很好,但如果我转到下一页,webgrid就会消失。 控制器

<div id="ASGrid">

</div>

<script>
$(document).ready(function () {
$("#ASearchbtn").click(function () {

    var ASData = $("#AdvanceSearchForm").serialize();

    $.ajax({
        type: "POST",
        url: "/SearchPayment/SubscriberLookUp",
        data: ASData,
        datatype: "html",
        cache: false,
        success: function (response) {
            $("#AdvSearch").modal("hide");
            $('#ASGrid').html(response);
        },
        complete: function () {
            $("#AdvSearch").modal("hide");
        }
    });
  })
})

查看:

public ActionResult GetGrid()
{
    Member model = (Member)Session["UserSession"]; 
    return PartialView("MemberGrid", model);
}

请帮助,我不知道我做错了什么或我没做什么。 我的猜测是,因为ajax调用只针对搜索按钮,所以它只会显示初始结果(第一页) 所以我想改变我的SubscriberLookup方法返回View(模型),然后在我的控制器中创建另一个方法:

function GetGrid(){
$.ajax({
    type: "POST",
    url: "/SearchPayment/GetGrid",
    datatype: "html",
    cache: false,
    success: function (response) {
        $("#AdvSearch").modal("hide");
        $('#ASGrid').html(response);
    },
    complete: function () {
        $("#AdvSearch").modal("hide");
    }
});
}

然后 在我的主视图中创建另一个ajax调用:

{{1}}

但是它不起作用,它似乎没有进行第二次ajax调用。

还有一个问题,我可以对一个不是ActionResult的方法做[HttpPost]吗?

1 个答案:

答案 0 :(得分:0)

我知道我迟到了。我遇到了同样的问题。 WebGrid 中的分页仅适用于 GET 请求。另外如果你添加一个int?从 Ajax 调用的 Action 方法的页面参数,您可以获得页码