【问题标题】:How to use PagedList in VB.Net MVC View如何在 VB.Net MVC 视图中使用 PagedList
【发布时间】:2012-08-12 03:18:33
【问题描述】:

我一直在阅读诸如 Cannot use NuGet PagedList ASP.NET MVC # View 之类的帖子和诸如 http://czetsuya-tech.blogspot.com/2011/05/mvc3-dynamic-search-paging-using.html 之类的文章,但我无法将分页列表模型加载到我的视图中。它适用于我的控制器,但以下代码:

@ModelType PagedList.IPagedList(Of MyBlog.Company)

... 似乎不起作用(即我似乎无权访问那个 PagedList 类;它说它没有定义)。我可以做些什么来使用 PagedList?我什至尝试从 NuGet 安装 PagedList 和 PagedList.MVC,但仍然没有。

我只是想完成本教程http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/sorting-filtering-and-paging-with-the-entity-framework-in-an-asp-net-mvc-application

似乎很多人都在这个特定方面苦苦挣扎。

感谢您的帮助。

编辑:这篇博文准确地描述了我的问题:

http://www.1771.in/using-pagedlist-in-vb.html

那里没有列出答案,所以也许其他人知道该怎么做。

【问题讨论】:

    标签: asp.net-mvc vb.net asp.net-mvc-3


    【解决方案1】:

    好的,我的 VB.NET 有点生锈了,但让我们看看我们可以在这里做什么。

    1. 创建一个新的 ASP.NET MVC 3 应用程序
    2. 在包管理器控制台中输入:Install-Package PagedList.Mvc 以安装 NuGet
    3. 添加模型:

      Public Class MyViewModel
          Public Property Id As Integer
          Public Property Foo As String
      End Class
      
    4. 然后更新HomeController.vb:

      Imports PagedList
      
      Public Class HomeController
          Inherits System.Web.Mvc.Controller
      
          Function Index() As ActionResult
              Dim model = Enumerable.Range(1, 250).Select(Function(x) New MyViewModel With {.Id = x, .Foo = "foo " & x})
              Dim viewModel = model.ToPagedList(1, 5)
              Return View(viewModel)
          End Function
      End Class
      
    5. 最后定义Index.vbhtml视图:

      @ModelType PagedList.IPagedList(Of MvcApplication1.MyViewModel)
      
      ...
      

    【讨论】:

    • 我照你说的做了;但是,当我添加 @ModelType 时,它​​下面仍然有一个蓝色下划线,它说“未定义类型'PagedList.IPagedList'。”
    • 这里有一个答案“做到了。我删除了 MvcMembership 中的 PagedList ref,并引用了 PagedList 项目。” github.com/TroyGoode/MembershipStarterKit/issues/23但我不知道怎么按他们说的去做。
    • 您是否按照我的回答中列出的简单步骤进行操作?因为他们工作。
    • 是的,我相信是的。我完全做到了,但是当我到达最后一步并粘贴 @ModelType PagedList.IPagedList(Of MvcApplication1.MyViewModel) 时,蓝线出现并说它没有定义。
    • 我完全不知道您在实际项目中拥有什么,所以我无法回答这个问题。但是您可以使用我的步骤作为构建基础,并逐步添加项目中的代码以丰富它并查看它何时停止工作。这样,您将能够隔离问题。当您遇到问题时,您应该始终这样做 => 尝试隔离并缩小范围。一旦你这样做了,有两种可能性:1. 要么你立即找到解决方案,要么 2. 你不知道,然后在 StackOverflow 上发布你的详细步骤(就像我做的那样),希望有人能帮助你。
    猜你喜欢
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 2013-09-24
    • 2010-10-27
    • 2015-02-21
    • 1970-01-01
    相关资源
    最近更新 更多