2011-11-29 59 views
8

Tôi đang thêm PagedList vào chế độ xem của mình và theo dõi lỏng lẻo theo số Tutorial này. Tôi đã cài đặt tham chiếu PagedList sử dụng NuGet, thiết lập bộ điều khiển của tôi như sauKhông tìm thấy không gian tên trong chế độ xem MVC 3 Dao cạo

public ViewResult Index(int page = 1) 
    { 
     List<Part> model = this.db.Parts.ToList(); 
     const int pageSize = 20; 
     return View(model.ToPagedList(page, pageSize)); 
    } 

Và bằng văn bản quan điểm của tôi với mô hình sau ở đầu

@model PagedList.IPagedList<RIS.Models.Part> 

Khi tôi chạy trang tôi nhận được lỗi sau

Compiler Error Message: CS0246: The type or namespace name 'PagedList' could not be found (are you missing a using directive or an assembly reference?) 

Source Error: 


Line 27:  
Line 28:  
Line 29:  public class _Page_Areas_Parts_Views_Part_Index_cshtml : System.Web.Mvc.WebViewPage<PagedList.IPagedList<RIS.Models.Part>> { 

Dll PagedList đang được tải đúng vào bộ điều khiển của tôi vì khi tôi lấy nó ra khỏi tầm nhìn, mọi thứ hoạt động như mong đợi. Thuộc tính CopyLocal được đặt thành 'True' và tôi đã thử bao gồm vùng tên trong Views \ Web.Config trong Vùng cụ thể của tôi. Tôi có thể làm gì khác để làm cho Chế độ xem thấy Không gian tên?

Trả lời

0

Có điều gì đó sai lầm với dự án tổng thể của tôi. Tôi đã tạo một dự án mới và sao chép các mục quan trọng và tất cả đều hoạt động ngay bây giờ. Tôi không chắc chắn ở tất cả những gì là sai với dự án ban đầu của tôi.

0

Tôi luôn phải nhập MvcPaging vào chế độ xem của mình để sử dụng PagedList. Nhưng tôi đã sử dụng thư viện trước Nuget vì vậy tôi không biết làm thế nào các không gian tên có thể đã thay đổi. Trong dạng xem biểu mẫu web VB.NET, tôi đã sử dụng <%@ Import Namespace="MvcPaging" %>

+0

Trong trình duyệt đối tượng nó trông giống như các không gian tên là 'PagedList' và đó là những gì bộ điều khiển được biên soạn với. – PlTaylor

15

Tôi cần thêm không gian tên vào tệp web.config Chế độ xem.

Cụ thể trong SO post này:

sau đó tôi cần phải đóng/mở lại Visual Studio 2010 để cho nó nhận ra. Biên dịch dự án không giúp được gì (web.config chỉ có thể được đọc một lần khi tải dự án).

4

Tôi đã gặp sự cố này khi sử dụng một assembly không được đặt thành "Copy Local", sau khi thay đổi thuộc tính tham chiếu assembly nó hoạt động như mong đợi.

0

FYI cho bất kỳ ai khác có cùng vấn đề với tôi ở đây, nó dừng lại trên bộ điều khiển "sử dụng PagedList;" cho tôi (đó là chính xác), tuy nhiên vấn đề tôi đã có trong web.config của xem, tôi đã thêm tham chiếu không gian tên "PageList" - được viết sai chính tả! (Nên có PagedList - lưu ý 'd').

0

Trong trường hợp của tôi, lỗi được phàn nàn về PagedList.MVC và tôi cũng đã cài đặt:

không chỉ PagedList.

3

Trong trường hợp của tôi, theo bảng điều khiển của trình quản lý gói, dự án của tôi có tham chiếu trước đó đến PagedList tuy nhiên nó không hiển thị trong các tham chiếu dự án của tôi trong Solution Explorer.

Giải pháp cho tôi là sử dụng bảng điều khiển trình quản lý gói để xóa PagedList.MVC, sau đó loại bỏ PagedList và sau đó cài đặt lại chúng một lần nữa như vậy:

  • uninstall-package PagedList.mvc
  • uninstall-package PagedList
  • install-package PagedList
  • install-package PagedList.mvc

Sau đó tất cả mọi thứ là tốt.

0

Trong trường hợp của tôi, tôi phải cấu hình nó trong .cshtml, cs và trong web.config

.cshtml

@model PagedList.IPageList<namespace.model> 
@using PagedList.Mvc; 

Web.Config

<configSections> 
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
    <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
</sectionGroup> 

.cs

using PagedList; 

Hy vọng điều này sẽ giúp

2

Đầu tiên xin lỗi vì tiếng Anh khủng khiếp của tôi. Trong trường hợp của tôi, tôi sử dụng MVC5 trong Visual Studio Cộng đồng vào năm 2015 và tôi giải quyết vấn đề theo cách này:

Trước tiên tôi xóa bộ nhớ cache của Visual Studio và bộ nhớ cache NuGet:

  • Visual studio - đi đến% LocalAppData % \ Microsoft \ WebsiteCache và xóa tất cả thư mục.
  • NuGet - here

Sau khi tôi sử dụng quản lý gói giao diện điều khiển để loại bỏ PagedList.MVC, sau đó loại bỏ PagedList và sau đó cài đặt lại chúng một lần nữa như vậy:

  • gỡ bỏ cài đặt gói PagedList.mvc
  • gỡ bỏ cài đặt gói PagedList
  • cài đặt gói PagedList
  • cài đặt gói PagedList.mvc

tôi holpe giúp đỡ mà

+0

Tôi không cảm thấy cần xóa bộ nhớ cache và các tệp tạm thời. Chỉ cần gỡ cài đặt và cài đặt đã hoạt động. Cảm ơn bạn. –

Các vấn đề liên quan