使用Ajax的MvcPaging

使用Ajax的MvcPaging,ajax,asp.net-mvc,paging,Ajax,Asp.net Mvc,Paging,我想在局部视图中使用MvcPaging。我有一个搜索页面,我需要分页的结果。到目前为止,只显示结果的第一页-当我试图转到第2页时,控制台中出现了一个500错误,但什么也没有发生 以下是来自控制器的两个操作: public PartialViewResult SearchResults(string lat, string lng, double? dist) { if (Request.IsAjaxRequest()) { stri

我想在局部视图中使用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));
    }

你能添加你收到的500错误的内容吗?@AnthonyShaw现在看看你能显示实际的500错误吗,这是控制台输出,表明有500错误。如果你直接打开那个url,你会看到什么错误?@AnthonyShaw好的,我现在看到问题了。在PaginationAjax操作中,结果似乎为null。有没有想过如何解决这个问题而不必查询数据库两次?
@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