AJAX pagedlist с частичным представлением

Я не могу понять, как получить частичное представление для отображения списка с использованием ajax.

Самый близкий к работе примерИспользование подкачки в частичном представлении, asp.net mvc

Я в основном пытаюсь создать страницу со списком комментариев для каждого пользователя, где страница может быть изменена так же, как вкладка ответов на странице пользователей stackoverflow.

Пейджинг работает хорошо при первом нажатии на пейджер, но затем частичное представление - это все, что возвращается, когда я снова нажимаю на пейджер.

контроллер:

public class ProductController : Controller
{
    public IQueryable<Product> products = new List<Product> { 
    new Product{ProductId = 1, Name = "p1"},
     new Product{ProductId = 2, Name = "p2"},
      new Product{ProductId = 3, Name = "p3"},
       new Product{ProductId = 4, Name = "p4"},
        new Product{ProductId = 5, Name = "p5"}
    }.AsQueryable();

    public object Index()
    {         
        return View();
    }

    public object Products(int? page)
    {
        var pageNumber = page ?? 1; // if no page was specified in the querystring, default to the first page (1)
        var onePageOfProducts = products.ToPagedList(pageNumber, 3); // will only contain 25 products max because of the pageSize

        ViewBag.OnePageOfProducts = onePageOfProducts;
        return PartialView("_Products");
    }
}

Просмотры:

Index.cshtml:

<link href="/Content/PagedList.css" rel="stylesheet" type="text/css" />

<h2>List of Products</h2>

<div id="products">    
    @Html.Action("Products", "Product")
</div>


@section scripts{

    <script type="text/javascript">
    $(function() {
    $('#myPager').on('click', 'a', function() {
        $.ajax({
            url: this.href,
            type: 'GET',
            cache: false,
            success: function(result) {
                $('#products').html(result);
            }
        });
        return false;
    });
    });
    </script>
    }

_Products.cshtml:

@using PagedList.Mvc;
@using PagedList;


<ul>
    @foreach(var product in ViewBag.OnePageOfProducts){
        <li>@product.Name</li>
    }
</ul>

<!-- output a paging control that lets the user navigation to the previous page, next page, etc -->
<div id="myPager">
    @Html.PagedListPager((IPagedList)ViewBag.OnePageOfProducts, page => Url.Action("Products", new { page }))
</div>

модель

public class Product
{
    public int ProductId { get; set; }
    public string Name { get; set; }
}

Может кто-нибудь показать мне, что я делаю не так?

Ответы на вопрос(2)

Ваш ответ на вопрос