问题描述
我想分页的东西MvcContrib的 Html.Pager()
,但我的剃须刀意见不能引用正确的命名空间。
I'm trying to paginate something with MvcContrib's Html.Pager()
, but my razor views can't reference the right namespace.
控制器正常:
using MvcContrib.Pagination;
...
public ActionResult List(int? page)
{
return View(new UserRepository().GetUserList().AsPagination(page ?? 1, 10));
}
不过,该视图不能使的感觉之一:
But, the view can't make sense of either:
@using MvcContrib
或
@Html.Pager((IPagination)Model)
我通过安装的NuGet MvcContrib。我尝试添加 MvcContrib
, MvcContrib.UI
和 MvcContrib.UI.Html
命名空间<网页和GT;<&命名空间GT;
在没有运气的web.config。我错过了什么?
I installed MvcContrib via NuGet. I tried adding MvcContrib
, MvcContrib.UI
and MvcContrib.UI.Html
namespaces to <pages><namespaces>
in web.config with no luck. Did I miss something?
推荐答案
相反的WebForms,剃刀不使用&LT;命名空间&GT;
在第〜/的web.config
。它使用&LT;&命名空间GT;
在〜/查看/ web.config中
:
Contrary to WebForms, Razor doesn't use the <namespaces>
section in ~/web.config
. It uses the <namespaces>
in ~/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)
或者你也可以在适当的命名空间添加到您的视图,如果你preFER:
or you could also add the proper namespace to your view if you prefer:
@model MvcContrib.Pagination.IPagination<SomeViewModel>
@using MvcContrib.UI.Pager
@Html.Pager(Model)
这篇关于MVC3不承认MvcContrib命名空间的Razor视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!