【问题标题】:MVC3 doesn't recognize MvcContrib namespace in Razor ViewMVC3 在 Razor 视图中无法识别 MvcContrib 命名空间
【发布时间】:2011-07-17 20:25:02
【问题描述】:

我正在尝试使用 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。我尝试在 web.config 中将 MvcContribMvcContrib.UIMvcContrib.UI.Html 命名空间添加到 <pages><namespaces>,但没有成功。我错过了什么吗?

【问题讨论】:

    标签: asp.net-mvc-3 pagination razor mvccontrib


    【解决方案1】:

    与 WebForms 不同,Razor 不使用 ~/web.config 中的 <namespaces> 部分。它在~/Views/web.config 中使用<namespaces>

      <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)
    

    【讨论】:

    • 我会试一试——我认为 NuGet 会自动完成。
    • @Darin 在使用 Microsoft 的 WebGrid 之后,我决定给 MvcContrib 的网格一个机会。到目前为止我喜欢它。有很多可定制的点会更好......我觉得唯一缺少的是网站mvccontrib.codeplex.com/… 上更一致的文档部分,以及在安装 NuGet 包时与 ASP.NET MVC 应用程序更好的集成。
    【解决方案2】:

    添加 MvcContrib.dll 引用后,试试这段代码。

    @using MvcContrib.UI.Pager
    @using MvcContrib.Pagination
    @model IPagination    
    
    @Html.Pager(Model)
    

    我将 MvcContrib Grid 分页、过滤 + MVC3 Razor sample article 发布到我的博客。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-18
      • 1970-01-01
      • 2014-01-21
      • 1970-01-01
      • 2015-10-13
      • 2017-08-15
      相关资源
      最近更新 更多