关于asp.net mvc 3:MVC与Jquery ajax删除以及如何在查询字符串中保留分页和其他过滤器?

MVC with Jquery ajax delete and how to keep the paging and other filter in the querystring?

我有一个搜索页面,其中包含一个下拉列表框,一个按钮和一个搜索结果局部视图。 当用户点击按钮时,它将使用get请求通过分页过滤数据。 对于表格数据,最后一列是"删除"链接,目前删除功能通过使用jquery ajax发布工作正常,但我无法正确刷新数据。 原因是我需要当前的搜索URL(或者像过滤器值和分页号这样的查询字符串)参数来保持用户选择相同。 我怎样才能做到这一点?

谢谢

这是我的默认操作有两个参数

1
2
3
4
5
6
7
8
9
10
11
12
13
        public ActionResult Default(string state, int? page = 1)
    {
        const int pageSize = 10;
        SearchModel model = new SearchModel();
        int total;

        List<xxx> result = _repo.SearchByState(state, page.Value, pageSize, out total);

        model.PageInfo = Pagination.ToPagedList<xxx>(result, page.Value, pageSize, total, 10);
        model.State = state;
        model.TotalCount = total;          
        return View(model);
    }


我过去所做的是保持我的过滤器/搜索条件的实例存活并根据需要传递它。 在那种情况下,我主要使用AJAX调用来获取和设置数据。 所以JavaScript中的标准对象可能如下所示(默认情况下):

1
2
3
4
5
6
var criteria = {
  name : {},
  title : {},
  pageSize : 10,
  currentPage : 1
};

然后在从AJAXy Delete调用成功回调时,调用Get / LoadData并传递条件对象。