Using paging in partial view, asp.net mvc
asp.net-mvc, asp.net-mvc-partialview, c#, pagedlist
Solution
You cannot use Ajax.ActionLink but you could AJAXify the links. Put the pager in a `<div>`:
<div id="myPager">
@Html.PagedListPager(
Model,
page => Url.Action(
"Index",
new {
humanID = ViewBag.HumanID,
page = page
}
),
new PagedListRenderOptions
{
LinkToFirstPageFormat = "<<",
LinkToPreviousPageFormat = "prev",
LinkToNextPageFormat = "next",
LinkToLastPageFormat = ">>",
}
)
</div>
and then AJAXify the links:
$(function() {
$('#myPager').on('click', 'a', function() {
$.ajax({
url: this.href,
type: 'GET',
cache: false,
success: function(result) {
$('#some_grid_container').html(result);
}
});
return false;
});
});
Notice that in the `success` callback I've used `$('#some_grid_container')` which should be some wrapping div around your entire table.
Problem
I'd greatly appreciate if someone could advise on following: In my view I display the list of items: ``` @model PagedList.IPagedList<Items> @using PagedList.Mvc; @foreach (var item in Model) {//displaying data} ``` my pager looks like this: ``` @Html.PagedListPager(Model, page => Url.Action("Index", new { humanID = ViewBag.HumanID, page = page }), new PagedListRenderOptions { LinkToFirstPageFormat = "<<", LinkToPreviousPageFormat = "prev", LinkToNextPageFormat = "next", LinkToLastPageFormat = ">>", }) ``` The problem is that when I click on the next page it is returned blank, without my `_Layout`. I wouldn't like to reload _Layout all the time. Is there a way to use Ajax.ActionLink for pager? So that I could `UpdateTargedId` inside my partial view?