Url.Action имеет только один параметр (страница #), который не соответствует методу контроллера.Он не предоставляет доступ ни к одному из других параметров (таких как даты начала / окончания).Итак, второй «страничный» запрос для следующих 4 событий, скорее всего, не работает.Если вы создали SearchModel с необходимыми свойствами, вы легко сможете отправлять значения с одной страницы на следующую.
public ActionResult Search(SearchModel search) {
//... (your search code)
// ... then, before returning the View,
ViewBag.SearchParameters = search;
return View(results);
, где SearchModel имеет свойства , например :
public class SearchModel {
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
public int Page? { get; set; }
// etc.
}
Тогда вы можете:
@Html.PagedListPager((IPagedList)ViewBag.Names, page => Url.Action("Search", new SearchModel { search = ViewBag.SearchParameters }))
Или вы можете просто использовать именованные параметры:
@Html.PagedListPager((IPagedList)ViewBag.Names, page => Url.Action("Search", new { page = page, q = ViewBag.QValue, /* ... etc. */ }))