Snažím sa niečo stránkovať stránkami MvcContrib Html.Pager()
, ale moje zobrazenie britvy nemôže odkazovať na správny menný priestor.
Ovládač je v poriadku:
using MvcContrib.Pagination;
...
public ActionResult List(int? page)
{
return View(new UserRepository().GetUserList().AsPagination(page ?? 1, 10));
}
Pohľad však nemôže mať zmysel:
@using MvcContrib
OR
@Html.Pager((IPagination)Model)
Nainštaloval som MvcContrib cez NuGet. Pokúsil som sa pridať MvcContrib
, MvcContrib.UI
a MvcContrib.UI.Html
namespaces to <pages><namespaces>
vo web.config bez šťastia. Chýbalo mi niečo?
odpovede:
15 pre odpoveď č. 1Na rozdiel od WebForms nepoužíva Razor <namespaces>
sekcia v ~/web.config
, Používa <namespaces>
v ~/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>
a potom:
@model MvcContrib.Pagination.IPagination<SomeViewModel>
@Html.Pager(Model)
alebo môžete do svojho zobrazenia pridať aj správny menný priestor, ak uprednostňujete:
@model MvcContrib.Pagination.IPagination<SomeViewModel>
@using MvcContrib.UI.Pager
@Html.Pager(Model)
0 pre odpoveď č. 2
Po pridaní odkazu na MvcContrib.dll vyskúšajte tento kód.
@using MvcContrib.UI.Pager
@using MvcContrib.Pagination
@model IPagination
@Html.Pager(Model)
Zverejnil som stránkovanie MvcContrib Grid, filtrovanie + holiaci strojček MVC3 ukážkový článok na môj blog.