MVC публикует IPagedList

У меня есть следующий 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; }
}

Мой взгляд выглядит так:

@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)            
}

Действие контроллера:

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

Я хочу отправить модель обратно в контроллер, чтобы я мог обработать, какие флажки были отмечены, но я получаю следующую ошибку: Я понимаю, что ошибка в том, что я отправляю обратно интерфейс, но я не могу найти способ вокруг этого. Как я могу получить эту работу?

Невозможно создать экземпляр интерфейса. на System.RuntimeTypeHandle.CreateInstance (типа RuntimeType, Boolean, Boolean publicOnly NOCHECK, Boolean & canBeCached, RuntimeMethodHandleInternal & CTOR, Boolean & bNeedSecurityCheck) в System.RuntimeType.CreateInstanceSlow (Boolean publicOnly, булевой skipCheckThis, булевой fillCache, StackCrawlMark & stackMark) в System.RuntimeType.CreateInstanceDefaultCtor (Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark & stackMark)
в System.Activator.CreateInstance (тип Type, логическое значение nonPublic)
на System.Activator.CreateInstance (Тип) при System.Web.Mvc.DefaultModelBinder.CreateModel (ControllerContext controllerContext, ModelBindingContext BindingContext, тип modelType) в System.Web.Mvc.DefaultModelBinder.BindSimpleModel (ControllerContext controllerContext, ModelBindingContext BindingContext, ValueProviderResult valueProviderResult) в System.Web.Mvc.DefaultModelBinder.BindModel (ControllerContext controllerContext, ModelBindingContext bindingContext) в System.Web.Mvc.DefaultModelBinder.GetPropertyValue (ControllerContext controllerContext, свойство ModelBindingContext bindingContext, PropertyBescriptDinderScript)
в System.Web.Mvc.DefaultModelBinder.BindProperty (ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor) в System.Web.Mvc.DefaultModelBinder.BindProperties (ControllerContext controllerContext.TextMTConnect.TextBTConnect.Text.TextBext.Text.Text.Text.Text. , llerContext, ModelBindingContext bindingContext, Объектная модель)
в System.Web.Mvc.DefaultModelBinder.BindComplexModel (ControllerContext controllerContext, ModelBindingContext bindingContext) в System.Web.Mvc.DefaultModelBinder.BindModel (ControllerContext controllerContext, instanceBindingContextConsDescriptContext_Convert_Conject_Conject_Conject_Conject_Conject_Conject_Conject_Conject_Conject_Conject_Conject_Conject_Conject.Conject_Conject_Conject.Conject_Conject_Connect ) в System.Web.Mvc.ControllerActionInvoker.GetParameterValues (ControllerContext controllerContext, ActionDescriptor actionDescriptor) в System.Web.Mvc.Async.AsyncControllerActionInvoker. <> c_DisplayClass25.b_1e (AsyncCallback asyncCallback, Object asyncState) в 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 (обратный вызов AsyncCallback, состояние объекта, время ожидания Int32) в System.Web.Mvc.Controller.BeginExecuteCore (обратный вызов AsyncCallback, состояние объекта) в 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 (обратный вызов AsyncCallback, состояние объекта, тайм-аут Int32) в System.Web.Mvc.MvcHandler.BeginProcessRequest (обратный вызов HttpContextBase, httpContext, обратный вызов AsyncCallback, состояние объекта) в System.Web.Mvc.MvcHandler.BeginProcessRextxt, обратный вызов HTTP () Состояние объекта) в System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest (контекст HttpContext, AsyncCallback cb, объект extraData) в System.Web.HttpApplication.CallHandlerExecutionStep.SttxAte.Htep.HTP System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логический и завершен синхронно)

Ответы на вопрос(1)

Ваш ответ на вопрос