2011-03-18 18 views
11

Estoy intentando paginar algo con Html.Pager() de MvcContrib, pero mis vistas de razurador no pueden hacer referencia al espacio de nombres correcto.MVC3 no reconoce el espacio de nombres MvcContrib en Razor View

controlador está funcionando correctamente:

using MvcContrib.Pagination; 
... 
public ActionResult List(int? page) 
{ 
    return View(new UserRepository().GetUserList().AsPagination(page ?? 1, 10)); 
} 

embargo, la vista no puede dar sentido a cualquiera:

@using MvcContrib 

O

@Html.Pager((IPagination)Model) 

he instalado MvcContrib través NuGet. Intenté agregar MvcContrib, MvcContrib.UI y MvcContrib.UI.Html espacios de nombres al <pages><namespaces> en web.config sin tener suerte. ¿Me he perdido algo?

Respuesta

15

Contrariamente a WebForms, Razor no utiliza la sección <namespaces> en ~/web.config. Utiliza el <namespaces> en ~/Views/web.config:

<system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <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.Routing" /> 
     <add namespace="MvcContrib"/> 
     <add namespace="MvcContrib.UI.Grid"/> 
     <add namespace="MvcContrib.UI.Pager"/> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 

y luego:

@model MvcContrib.Pagination.IPagination<SomeViewModel> 
@Html.Pager(Model) 

o usted podría también agregar el espacio de nombres adecuado a la vista, si lo prefiere:

@model MvcContrib.Pagination.IPagination<SomeViewModel> 
@using MvcContrib.UI.Pager 
@Html.Pager(Model) 
+1

Voy a dar una oportunidad, pensé que NuGet lo habría hecho de forma automática. –

+0

@Darin Después de trabajar con WebGrid de Microsoft, decidí darle una oportunidad a la grilla de MvcContrib. Hasta ahora me gusta. Mucho mejor con muchos puntos personalizables ... Lo único que siento que falta es una sección de documentación más consistente en el sitio http://mvccontrib.codeplex.com/wikipage?title=Grid&referringTitle=Documentation y una mejor integración con un ASP. Aplicación NET MVC cuando el paquete NuGet está instalado. –

0

Después de añadir MvcContrib. dll referencia, prueba este código.

@using MvcContrib.UI.Pager 
@using MvcContrib.Pagination 
@model IPagination  

@Html.Pager(Model) 

he publicado MvcContrib paginación rejilla, filtrando + MVC3 Razor sample article a mi blog.

Cuestiones relacionadas