2013-01-16 78 views
3

我有以下型號:PagedListPager傳遞額外的模型數據

public class PagedClientViewModel 
    { 
     public int? Page { get; set; } 
     public PagedList.PagedList<ClientViewModel> Clients { get; set; }    
     public bool ShowAllClients { get; set; } 
    } 

ShowAllClients的是,我將用它來進一步過濾從服務器返回客戶端列​​表中的複選框。

@Html.CheckBoxFor(model => model.ShowAllClients, new { id = "ShowAllClientsCheckbox" }) 

這裏是我的傳呼機:

@Html.PagedListPager(Model.Clients, page => Url.Action("Index", new { Page = page }), PagedListRenderOptions.DefaultPlusFirstAndLast) 

兩個尋呼機和複選框是相同的形式。

我遇到的問題是,當我改變頁面控制器上的頁面時,複選框始終設置爲false。這是因爲在索引操作中,ShowAllClients被設置爲false。

如何在更改頁面時保留複選框數據?

回答

7

我得到這個與以下工作:

@Html.PagedListPager(Model.Clients, page => Url.Action("Index", new PagedClientViewModel { Page = page, ShowAllClients = Model.ShowAllClients }))