MVC publicación de IPagedList

Tengo el siguiente PagedListModel:

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

public class ClientViewModel
{        
    public string ClientNumber { get; set; }
    public bool UseThisClient{ get; set; }
}

Mi vista se ve así:

@using (Html.BeginForm("Index", "Home", FormMethod.Get, new { id = "Form" }))
{
    @foreach (var item in Model.Clients)
    {
       @Html.DisplayFor(modelItem => item.ClientNumber)
       @Html.CheckBoxFor(modelItem => item.UseThisClient)
    }    

 @Html.HiddenFor(model => model.Clients)            
}

Acción del controlador:

 public ActionResult Index(PagedClientViewModel model)
 {
  //...process all clients in the list
 }

Quiero volver a publicar el modelo en el controlador para poder procesar qué casillas de verificación se han marcado, pero aparece el siguiente error: Entiendo que el error se debe a que estoy devolviendo una interfaz pero no puedo encontrar la manera Alrededor de eso. ¿Cómo puedo conseguir este trabajo?

No se puede crear una instancia de una interfaz. en System.RuntimeTypeHandle.CreateInstance (tipo RuntimeType, Boolean publicOnly, Boolean NOCHECK, Boolean y canBeCached, RuntimeMethodHandleInternal y ctor, Boolean y bNeedSecurityCheck) en System.RuntimeType.CreateInstanceSlow (Boolean publicOnly, Boolean skipCheckThis, Boolean FillCache, StackCrawlMark y stackMark) en System.RuntimeType.CreateInstanceDefaultCtor (Solo público booleano, skoolCheckThis booleano, fillCache booleano, MarkCrawlMark y stackMark)
en System.Activator.CreateInstance (Type type, Boolean nonPublic)
at System.Activator.CreateInstance (Type type) en System.Web.Mvc.DefaultModelBinder.CreateModel (ControllerContext controllerContext vinculación Conceso de trabajo en el último minuto del mercado), en el último lugar. at System.Web.Mvc.DefaultModelBinder.BindModel (ControllerContext controllerContext), ModelBindingContext bindingContext
en el sistema. , ModelBindingContext bindingContext, modelo de objeto)
en System.Web.Mvc.DefaultModelBinder.BindComplexModel (ControllerContext controllerContext) en System.Web.Mvc. ) en System.Web.Mvc.ControllerActionInvoker.GetParameterValues ​​(ControllerContext controllerContext, ActionDescriptor actionDescriptor) en System.Web.Mvc.Async.AsyncControllerActionInvoker. <> c_DisplayClass25.b_1e (AsyncCallback asyncCallback, Object asyncState) en System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult1.Begin(AsyncCallback callback, Object state, Int32 timeout) at System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state) at System.Web.Mvc.Controller.<>c__DisplayClass1d.<BeginExecuteCore>b__17(AsyncCallback asyncCallback, Object asyncState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult1.Begin (devolución de llamada AsyncCallback, estado del objeto, tiempo de espera de Int32) en System.Web.Mvc.Controller.BeginExecuteCore (devolución de llamada de AsyncCallback, estado del objeto) en System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult1.Begin(AsyncCallback callback, Object state, Int32 timeout) at System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) at System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__2(AsyncCallback asyncCallback, Object asyncState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult1.Begin (devolución de llamada de AsyncCallback, estado de Objeto, tiempo de espera de Int32) en System.Web.Mvc.MvcHandler.BeginProcessRequest (HttpContextBaseegoc.png), AsyncCall.png, Pc. Estado del objeto) en System.Web.Mvc.MvcHandler.System.Web.P.HttpAsyncHandler.BeginProcessRequest (contexto HttpContext, AsyncCall.p.p.P.P.P.P.) System.Web.HttpApplication.ExecuteStep (IExecutionStep step, Boolean & completedSynchronously)

Respuestas a la pregunta(1)

Su respuesta a la pregunta