直接上代码:
Controller:
public ActionResult Index(int? ipage)
{
var _category = db.Category.Where(c => c.CategoryID > 0).OrderBy(c => c.CategoryID);
int pageSize = 5;
int pageNumber = (ipage ?? 1);
return View(_category.ToPagedList(pageNumber, pageSize));
}
View.cshtml:
@model PagedList.IPagedList<MvcBalance.Models.Categorys>
@using PagedList.Mvc;
<link href="~/Content/PagedList.css" rel="stylesheet" type="text/css" />
@{
ViewBag.Title = "Index";
}
<h2>Category Setting</h2>
<p>
@Html.ActionLink("Create New", "Create",null, new { @class = "hrefbutton" })
</p>
<table class="table_list">
<tr>
<th>
@Html.DisplayNameFor(model=>model.CategoryName) </th>
<th>
@*@Html.DisplayNameFor(model => model.CategoryDescription)*@
编译器错误消息: CS1061: “PagedList.IPagedList<MvcBalance.Models.Categorys>”不包含“CategoryName”的定义,并且找不到可接受类型为“PagedList.IPagedList<MvcBalance.Models.Categorys>”的第一个参数的扩展方法“CategoryName”(是否缺少 using 指令或程序集引用?)
请大侠指点这是为何?
7 个解决方案
#1
在 View 里不需要引用:@model PagedList.IPagedList<MvcBalance.Models.Categorys>
将View改为如下:
将View改为如下:
@model IEnumerable<MvcBalance.Models.Categorys>
@using PagedList.Mvc;
......
#2
你传入的Model是一个List,下面又不循环?
<th>@Html.DisplayNameFor(model=>model.First().CategoryName) </th>
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
<th>@Html.DisplayNameFor(model=>model.First().CategoryName) </th>
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
#3
要添加PagedList引用。
#4
在View里不用IPagedList似乎是一种方法,但是“正宗”的方法应该是版主说的在table的标题里加上first(),把@Html.DisplayNameFor(model=>model.CategoryName)改为@Html.DisplayNameFor(model=>model.First().CategoryName)。
@model PagedList.IPagedList<MvcBalance.Models.Categorys>
@using PagedList.Mvc;
......
<table class="table_list">
<tr>
<th>
@Html.DisplayNameFor(model=>model.First().CategoryName) </th>
<th>
#5
你取了5条数据,只显示一条?
#6
只是显示标题。
<th>
@Html.DisplayNameFor(model=>model.First().CategoryName)
</th>
<th>
@Html.DisplayNameFor(model=>model.First().CategoryName)
</th>
#7
因为这个接口或类没有对应的扩展方法,我的MvcPager就可以:
http://www.webdiyer.com/mvcpager/
实现DisplayNameFor扩展方法的源代码在这里:
http://www.webdiyer.com/mvcpager/sourcecode/displaynameforextension/
http://www.webdiyer.com/mvcpager/
实现DisplayNameFor扩展方法的源代码在这里:
http://www.webdiyer.com/mvcpager/sourcecode/displaynameforextension/
#1
在 View 里不需要引用:@model PagedList.IPagedList<MvcBalance.Models.Categorys>
将View改为如下:
将View改为如下:
@model IEnumerable<MvcBalance.Models.Categorys>
@using PagedList.Mvc;
......
#2
你传入的Model是一个List,下面又不循环?
<th>@Html.DisplayNameFor(model=>model.First().CategoryName) </th>
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
<th>@Html.DisplayNameFor(model=>model.First().CategoryName) </th>
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
#3
要添加PagedList引用。
#4
在View里不用IPagedList似乎是一种方法,但是“正宗”的方法应该是版主说的在table的标题里加上first(),把@Html.DisplayNameFor(model=>model.CategoryName)改为@Html.DisplayNameFor(model=>model.First().CategoryName)。
@model PagedList.IPagedList<MvcBalance.Models.Categorys>
@using PagedList.Mvc;
......
<table class="table_list">
<tr>
<th>
@Html.DisplayNameFor(model=>model.First().CategoryName) </th>
<th>
#5
你取了5条数据,只显示一条?
#6
只是显示标题。
<th>
@Html.DisplayNameFor(model=>model.First().CategoryName)
</th>
<th>
@Html.DisplayNameFor(model=>model.First().CategoryName)
</th>
#7
因为这个接口或类没有对应的扩展方法,我的MvcPager就可以:
http://www.webdiyer.com/mvcpager/
实现DisplayNameFor扩展方法的源代码在这里:
http://www.webdiyer.com/mvcpager/sourcecode/displaynameforextension/
http://www.webdiyer.com/mvcpager/
实现DisplayNameFor扩展方法的源代码在这里:
http://www.webdiyer.com/mvcpager/sourcecode/displaynameforextension/