使用Ajax进行MvcPaging

时间:2015-05-15 14:31:28

标签: ajax asp.net-mvc paging

我想在PartialView中使用MvcPaging。我有一个搜索页面,我需要对结果进行分页。到目前为止,只显示结果中的第一页 - 当我尝试转到第2页时,我在控制台中遇到500错误,没有任何反应。

以下是来自控制器的两个动作:

public PartialViewResult SearchResults(string lat, string lng, double? dist)
    {
        if (Request.IsAjaxRequest())
        {
            string address = Request["address"];
            string latitude = lat;
            string longitude = lng;

            GeoCoordinate coord = new GeoCoordinate(Double.Parse(latitude, CultureInfo.InvariantCulture), Double.Parse(longitude, CultureInfo.InvariantCulture));

            IQueryable<Restaurants> near = (from r in _db.Restaurants select r);
            results = new List<Restaurants>();
            foreach (Restaurants restaurant in near)
            {
                double latBD = (double)restaurant.Latitude;
                double lngDB = (double)restaurant.Longitude;
                if (new GeoCoordinate(latBD, lngDB).GetDistanceTo(coord) <= dist * 1000)
                {
                    results.Add(restaurant);
                }
            }
            return PartialView("_SearchResult", results.ToPagedList(0, 2));
        }
        return PartialView("Search");
    }

    public ActionResult PaginationAjax(int? page)
    {
        int currentPageIndex = page.HasValue ? page.Value - 1 : 0;
        return PartialView("_SearchResult", results.ToPagedList(currentPageIndex, 2));
    }

部分观点:

@model IPagedList<Restaurants>
@using MvcPaging
foreach (var item in Model)
    {
        <blockquote>
            <h3><a href="Details?Id=@item.Id" target="_blank">@item.Name</a></h3>
        </blockquote>
    }
    <div class="pager">
        @Html.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount, new AjaxOptions { UpdateTargetId = "searchResults" }).Options(o => o.Action("PaginationAjax"))
    </div>

有谁知道我做错了什么?谢谢!

编辑: 错误

GET http://localhost/TakeASeat/Restaurants/PaginationAjax?page=2&X-Requested-With=XMLHttpRequest&_=1431698681795 500 (Internal Server Error)
jQuery.ajaxTransport.send @ jquery-2.1.3.js:8625
jQuery.extend.ajax @ jquery-2.1.3.js:8161
asyncRequest @ jquery.unobtrusive-ajax.js:128
(anonymous function) @ jquery.unobtrusive-ajax.js:138
jQuery.event.dispatch @ jquery-2.1.3.js:4430
jQuery.event.add.elemData.handle @ jquery-2.1.3.js:4116

0 个答案:

没有答案