我在我的视图中添加了一个PagedList,然后松散地跟随Tutorial。我已经使用Nuget安装了PagedList引用,按如下方式设置我的控制器
public ViewResult Index(int page = 1)
{
List<Part> model = this.db.Parts.ToList();
const int pageSize = 20;
return View(model.ToPagedList(page, pageSize));
}
在顶部用以下模型写下我的观点
@model PagedList.IPagedList<RIS.Models.Part>
当我运行该页面时,我收到以下错误
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>> {
PagedList dll正在我的控制器中正确加载,因为当我从视图中取出它时,一切都按预期工作。 CopyLocal属性设置为'True',我尝试在我的特定区域的Views \ Web.Config中包含命名空间。我还能做些什么来使视图看到命名空间?
答案 0 :(得分:15)
我需要将名称空间添加到Views web.config文件中。
详情请参阅此SO post:
然后我需要关闭/重新打开Visual Studio 2010才能识别它。编译项目没有帮助(web.config可能只在项目加载时读取一次)。
答案 1 :(得分:4)
使用未设置为“复制本地”的程序集时,我也遇到此问题,更改程序集引用属性后,它按预期工作。
答案 2 :(得分:2)
在我的情况下,根据包管理器控制台,我的项目之前有一个对PagedList的引用,但是它没有出现在解决方案资源管理器中的项目引用中。
我的解决方案是使用包管理器控制台删除PagedList.MVC,然后删除PagedList,然后重新安装它们,如下所示:
uninstall-package PagedList.mvc
uninstall-package PagedList
install-package PagedList
install-package PagedList.mvc
之后一切都很好。
答案 3 :(得分:2)
首先抱歉我可怕的英语。就我而言,我在Visual Studio Community 2015中使用了MVC5,我用这种方式解决了问题:
首先,我删除了Visual Studio和NuGet缓存的缓存:
使用包管理器控制台删除PagedList.MVC后,删除PagedList,然后重新安装它们,如下所示:
我帮忙
答案 4 :(得分:0)
我总是必须将MvcPaging导入我的视图才能使用PagedList。但是我在Nuget之前使用了库,所以我不知道名称空间是如何改变的。在VB.NET Web表单视图中,我使用了<%@ Import Namespace="MvcPaging" %>
答案 5 :(得分:0)
我的整体项目搞砸了。我创建了一个新项目并复制了重要的项目,现在一切正常。我不确定我的原始项目有什么问题。
答案 6 :(得分:0)
对于其他与我有同样问题的人来说,它是在“使用PagedList”停在控制器上的。对我来说(这是正确的),但我遇到的问题是在视图的web.config中我添加了命名空间引用“PageList” - 拼写错误! (应该是PagedList - 注意'd')。
答案 7 :(得分:0)
答案 8 :(得分:0)
在我的情况下,我必须在.cshtml,.cs和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;
希望这有帮助