【问题标题】:MVC contrib pagerMVC 贡献分页器
【发布时间】:2011-05-26 00:29:26
【问题描述】:

我是这样使用它的:

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

是否有简单的方法来更改呈现的 url。我查看了更多文档,但找不到太多。

【问题讨论】:

  • 我的问题是我在控制器的索引视图中有一个网格,并且动作位被吞掉了。它适用于其他视图,但不适用于索引视图。所以我想我可以强制创建动作位来生成正确的url。
  • 我试过 Url.Action("Index", new { page = currentPage })) %> 但是索引位被吞没。如果我使用“Bla”而不是“Index”,则会生成 URL。为什么是这样?谢谢。

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


【解决方案1】:

你到底想改变什么?

这就是我更改 URL 的方式:

 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
    }

【讨论】:

  • 我试过 Url.Action("Index", new { page = currentPage })) %> 但是索引位被吞没。如果我使用“Bla”而不是“Index”,则会生成 URL。为什么是这样?谢谢。
  • 不知道。如果您想弄清楚,您可以下载源代码、构建它并使用调试器。代码并不复杂。
  • 对我来说这是行不通的,因为现在下一页(page = 1)和上一页(page = 1)的页面相同。您需要在 Link 委托中区分它们,但您不能。我错过了什么吗?
【解决方案2】:

这真的取决于你想改变什么。

在以下示例中,我将分页链接更改为使用 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);
        }
    });
});

【讨论】:

    【解决方案3】:

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

    您还可以使用 jQuery 在生成时间后修改寻呼机。示例见这篇文章:http://thekindofme.wordpress.com/2009/01/12/ajax-enabling-mvccontrib-grid-pagination-with-jquery/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-18
      • 2014-01-21
      • 1970-01-01
      • 2017-03-03
      • 2011-09-13
      • 2018-04-17
      • 1970-01-01
      相关资源
      最近更新 更多