asp.net MVC で ViewModel を使用して pagedlist を実装する正しい方法を見つけようとしています。
次の PagedClientViewModel があるとします。
public class PagedClientViewModel
{
public PagedList.IPagedList<ClientViewModel> Clients { get; set; }
}
public class ClientViewModel
{
public string ClientNumber { get; set; }
public string ClientName { get; set; }
}
私のビューは、次のようにモデルを参照します。
@model PagedClientViewModel
アクションメソッドは次のようになります。
public ActionResult Index(int? page)
{
var pageNumber = page ?? 1;
var clients = GetAllClients();
var onePageOfClients = clients.ToPagedList(pageNumber, 25);
PagedClientViewModel model = new PagedClientViewModel();
var clientViewModels = new List<ClientViewModel>();
foreach (var client in clients)
{
ClientViewModel clientVM = new ClientViewModel
{
ClientName = client.CLIENTNAME,
ClientNumber = client.CLIENTNO,
};
clientViewModels.Add(clientVM);
}
model.Clients = //how do I add the clientViewModels to the PagedList<ClientViewModel>?
return View(model);
}
ビューモデルを作成するときに、データベースからクライアント レコードのリスト全体を反復処理したくありません。ViewBag を使いたくない!
私のViewModelはどのように見えるべきですか?