我正在尝试用MvcContrib's分页 Html.Pager()
,但我的剃刀视图无法引用正确的命名空间。
控制器还可以:
using MvcContrib.Pagination;
...
public ActionResult List(int? page)
{
return View(new UserRepository().GetUserList().AsPagination(page ?? 1, 10));
}
但是,观点无法理解:
@using MvcContrib
要么
@Html.Pager((IPagination)Model)
我通过NuGet安装了MvcContrib。我尝试添加 MvcContrib
, MvcContrib.UI
和 MvcContrib.UI.Html
名称空间到 <pages><namespaces>
在web.config没有运气。我错过了什么?
与WebForms相反,Razor不使用 <namespaces>
部分 ~/web.config
。它使用了 <namespaces>
在 ~/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>
接着:
@model MvcContrib.Pagination.IPagination<SomeViewModel>
@Html.Pager(Model)
或者,如果您愿意,还可以在视图中添加适当的命名空间:
@model MvcContrib.Pagination.IPagination<SomeViewModel>
@using MvcContrib.UI.Pager
@Html.Pager(Model)
与WebForms相反,Razor不使用 <namespaces>
部分 ~/web.config
。它使用了 <namespaces>
在 ~/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>
接着:
@model MvcContrib.Pagination.IPagination<SomeViewModel>
@Html.Pager(Model)
或者,如果您愿意,还可以在视图中添加适当的命名空间:
@model MvcContrib.Pagination.IPagination<SomeViewModel>
@using MvcContrib.UI.Pager
@Html.Pager(Model)
添加MvcContrib.dll引用后,请尝试此代码。
@using MvcContrib.UI.Pager
@using MvcContrib.Pagination
@model IPagination
@Html.Pager(Model)
我发布了MvcContrib网格分页,过滤+ MVC3 Razor 样品 到我的博客。