MVC3 无法识别 Razor 视图中的 MvcContrib 命名空间

发布于 2024-10-22 18:07:02 字数 641 浏览 4 评论 0原文

我正在尝试使用 MvcContrib 的 Html.Pager() 对某些内容进行分页,但我的 razor 视图无法引用正确的命名空间。

控制器没问题:

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。我尝试将 MvcContribMvcContrib.UIMvcContrib.UI.Html 命名空间添加到 没有运气。我错过了什么吗?

I'm trying to paginate something with MvcContrib's Html.Pager(), but my razor views can't reference the right namespace.

Controller is ok:

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

OR

@Html.Pager((IPagination)Model)

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

疧_╮線 2024-10-29 18:07:02

与 WebForms 相反,Razor 不使用 ~/web.config 中的 部分。它使用 ~/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)

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>

and then:

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

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)
感情洁癖 2024-10-29 18:07:02

添加 MvcContrib.dll 引用后,尝试此代码。

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

@Html.Pager(Model)

我将 MvcContrib Grid 分页、过滤 + MVC3 Razor 示例文章发布到我的博客。

After adding MvcContrib.dll reference, try this code.

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

@Html.Pager(Model)

I posted MvcContrib Grid paging,filtering + MVC3 Razor sample article to my blog.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文