I am adding a PagedList to my view and loosely following this Tutorial. I have installed the PagedList reference using Nuget, set up my controller as follows
public ViewResult Index(int page = 1)
{
List<Part> model = this.db.Parts.ToList();
const int pageSize = 20;
return View(model.ToPagedList(page, pageSize));
}
And written my view with the following model at the top
@model PagedList.IPagedList<RIS.Models.Part>
When I run the page I get the following error
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>> {
The PagedList dll is being properly loaded in my controller because when I take it out of my view everything works as expected. The CopyLocal property is set to 'True' and I have tried including the namespace in the Views\Web.Config in my specific Area. What else can I do to make the View see the Namespace?
I needed to add the namespace to the Views web.config file.
Details are in this SO post:
I then needed to close/re-open Visual Studio 2010 in order for it to recognize. Compiling the project didn't help (the web.config might only be read once upon project load).
I had this problem as well when using an assembly that wasn't set to "Copy Local", after changing the assembly reference properties it works as expected.
In my case, I have to configure it in .cshtml, .cs and in web.config
.cshtml
Web.Config
.cs
Hope this helps
In my case, the error was complaining about PagedList.MVC and I had to also install:
not only PagedList.
First sorry for my terrible English. In my case, I use the MVC5 in Visual Studio Community 2015 and I solved the problem this way:
First I delete the cache of Visual Studio and NuGet cache:
After I use the package manager console to remove PagedList.MVC, then remove PagedList and then re-install them again like so:
I holpe that help
I have always had to import MvcPaging to my views in order to use PagedList. But I was using the library prior to Nuget so I don't know how the namespaces may have changed. In a VB.NET web forms view, I used
<%@ Import Namespace="MvcPaging" %>