2012-09-07 19 views
1

我希望特洛伊古德或其他人做了同样的事情可以帮助在这里。我对ASP.NET MVC比较陌生。多个PagedList在视图中:跟踪每个列表的当前页面

我有一个ASP.NET MVC3应用程序与视图,我已经实现了两个PagedList控件,每个控件都显示不同的信息源。

PagedList控件是否提供跟踪视图上其他PagedLists的当前页码的方法?因此,举例来说,如果我有:

PagedList1 (currently on page 1 of 10) 
PagedList2 (currently on page 4 of 10) 

,我改变了PagedList1页面,PagedList2会查看重装后保持第4页。

我已经考虑过使用会话变量,但想知道是否有更优雅的解决方案。

谢谢。

回答

5

我终于想出了一个办法。

型号

public class ChequeSearch 
{ 
    //Search criteria 
    [DisplayName("Draft Number")] 
    public string DraftNumber { get; set; } 

    [DisplayName("Payee")] 
    public string Payee { get; set; } 

    //Search results 
    public int? SearchResults1Page { get; set; } 
    public int? SearchResults2Page { get; set; } 
    public IPagedList<Cheque> SearchResults1 { get; set; } 
    public IPagedList<Cheque> SearchResults2 { get; set; } 
    public string SearchButton { get; set; } 
} 

查看

在搜索结果表1:

@Html.PagedListPager(Model.SearchResults1, 
     page => Url.Action("Search", new RouteValueDictionary() { 
      { "SearchResults1Page", page }, 
      { "SearchResults2Page", Model.SearchResults2Page }, 
      { "DraftNumber", Model.DraftNumber }, 
      { "Payee", Model.Payee } 
     }), 
     PagedListRenderOptions.DefaultPlusFirstAndLast) 

在搜索结果表2:

@Html.PagedListPager(Model.SearchResults2, 
     page => Url.Action("Search", new RouteValueDictionary() { 
      { "SearchResults2Page", page }, 
      { "SearchResults1Page", Model.SearchResults1Page }, 
      { "DraftNumber", Model.DraftNumber }, 
      { "Payee", Model.Payee } 
     }), 
     PagedListRenderOptions.DefaultPlusFirstAndLast) 

感谢您的期待。

+0

你打败了我;-) – Troy

相关问题