我想在部分视图中只显示2个结果,如果有更多结果,则显示更多链接。我的查询将显示所有结果:
[ChildActionOnly]
public ActionResult GetContacts(int id)
{
var contacts = from c in db.CustomerContact
where c.CustomerID == id
orderby c.Surname
select c;
return PartialView("_GetContacts", contacts);
}
我是否需要有两个查询,一个用于计算结果数量?
想通过扩展div来使用jquery来显示更多结果。
如果有人能指出我正确的方向,我们将不胜感激。
答案 0 :(得分:1)
根据查询通常返回的元素数量,最好使用查询来检索两个元素,并在用户请求时使用不同的查询来显示其余元素。
为避免加载所有结果,您可以在链接上使用对服务器的AJAX调用来显示更多内容。
但是,如果您的查询通常返回的元素很少,您只需使用一个查询来加载所有元素,并通过显示更多链接点击显示两个或更多。
答案 1 :(得分:0)
你可以这样做:
var contacts = ....
return contacts.OrderBy(c => c.curname)
.Skip((CurrentPage - 1) * pageSize)
.Take(pageSize);
前两个项目必须有pagesize
和currentPage
的参数,pageSize = 2
和currentPage = 1
传递更多项目(每次2个项目)传递当前页面= 2等等。