2010-12-15 2 views
2

Я использую это так:MVC вно пейджер

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

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

+0

Что вы хотите сделать? – Lorenzo 2010-12-15 16:26:14

+0

Моя проблема в том, что у меня есть сетка в виде индекса для контроллера, и бит действия сглажен. Он отлично работает для других видов, но не для представлений индексов. Поэтому я думал, что могу заставить создание бит действия генерировать правильный URL-адрес. – cs0815 2010-12-16 10:54:46

ответ

9

Что именно вы хотите изменить?

Это, как я изменить 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 
    } 
0

Вы можете передать все, что можно отнести к IPagination. Например, см. Этот вопрос и ответ: MvcContrib.UI.Grid pagination problem

Вы также можете изменить пейджер после генерации с помощью jQuery. См. Этот пост для примера: http://thekindofme.wordpress.com/2009/01/12/ajax-enabling-mvccontrib-grid-pagination-with-jquery/

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); 
     } 
    }); 
}); 
Смежные вопросы