MVC contrib pager

时间:2010-12-15 16:03:48

标签: asp.net-mvc asp.net-mvc-2 mvccontrib

我正在使用它:

<%= Html.Pager((IPagination)Model) %>

是否有简单的方法来更改渲染的网址。我查了更多文档,但找不到多少。

3 个答案:

答案 0 :(得分:9)

你想要改变什么?

这是我更改网址的方式:

 Html.Pager(Model.AssetsPagedList)
        .First("First")
        .Last("Last")
        .Next("Next")
        .Previous("Previous")
          .Link(currentPage => Url.Action("Browse", new {  
            page = currentPage,
            searchTerm = Model.SearchModel.SearchTerm,
            excludedWords = Model.SearchModel.ExcludedWords,
            minPrice = Model.SearchModel.MinPrice,
            maxPrice = Model.SearchModel.MaxPrice,
            locationId = Model.SearchModel.LocationId,  
            catalogId = Model.SearchModel.CatalogId
        })) 

你也可以创建一个这样的帮手:

public static Pager Pager(this HtmlHelper helper, IPagination model, FormCollection formCollection)
    {
      // here you can use MvcContrib.UI.Pager.PaginationExtensions.Pager static methods
      // or create MvcContrib.Pagination.Pager class directly
    }

答案 1 :(得分:1)

这实际上取决于你想要改变什么。

在以下示例中,我将更改分页链接以使用ajax

$("#addressListPlaceholder .paginationRight a").click(function (event) {
    event.preventDefault();
    $.ajax({
        type: "get",
        dataType: "html",
        url: this.href,
        data: {},
        success: function (response) {
            $("#addressListPlaceholder").html('').html(response);
        }
    });
});

答案 2 :(得分:0)

您可以将任何可投射的内容传递给IPagination。例如,请参阅此SO问题/答案:MvcContrib.UI.Grid pagination problem

您还可以使用jQuery在生成时间之后修改寻呼机。请参阅此帖子以获取示例:http://thekindofme.wordpress.com/2009/01/12/ajax-enabling-mvccontrib-grid-pagination-with-jquery/