Saltar al contenido

PagedList MVC no contiene una definición para PagedListPager

Solución:

PageCount, PageNumber etc son propiedades de IPagedList<T>, no IEnumerable<T>. Necesita cambiar el modelo en la vista para usar IPagedList<T>e incluya las declaraciones de uso relevantes.

@using PagedList; // add
@using PagedList.Mvc; //add
@model IPagedList<RecreationalServicesTicketingSystem.Models.User> // change
@{
    ViewBag.Title = "Users";
}
.....

Te estas perdiendo utilizando de PagedList y PagedList.Mvc , como otros te dijeron.

Lo que puedo agregar, es mejor agregar el uso de espacios de nombres en el archivo Vistas / Web.Config en lugar de. Esto te permitirá usar espacios de nombres. PagedList y PagedList.Mvc en todas las vistas y acorte el código. Ejemplo:

<system.web.webPages.razor>
  <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory" />
  <pages pageBaseType="System.Web.Mvc.WebViewPage">
    <namespaces>
      <add namespace="System.Web.Mvc" />
      <add namespace="System.Web.Mvc.Ajax" />
      <add namespace="System.Web.Mvc.Html" />
      <add namespace="System.Web.Optimization"/>
      <add namespace="System.Web.Routing" />
      <add namespace="PagedList" />        <!--Add this line-->
      <add namespace="PagedList.MVC" />    <!--Add this line-->
    </namespaces>
  </pages>
</system.web.webPages.razor>

Y ya no es necesario usar utilizando en la vista de todos / cshtml

@* @using PagedList; // No more need of this, can delete this line *@
@* @using PagedList.Mvc; // No more need of this, can delete this line *@
@model IPagedList<RecreationalServicesTicketingSystem.Models.User> // change
@{
    ViewBag.Title = "Users";
}
..... 

Esto es especialmente valioso, cuando tienes un gran proyecto, acortará tu código.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *