.net mvc限制结果显示更多链接

时间:2012-10-01 09:37:46

标签: asp.net-mvc linq

我想在部分视图中只显示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来显示更多结果。

如果有人能指出我正确的方向,我们将不胜感激。

2 个答案:

答案 0 :(得分:1)

根据查询通常返回的元素数量,最好使用查询来检索两个元素,并在用户请求时使用不同的查询来显示其余元素。

为避免加载所有结果,您可以在链接上使用对服务器的AJAX调用来显示更多内容。

但是,如果您的查询通常返回的元素很少,您只需使用一个查询来加载所有元素,并通过显示更多链接点击显示两个或更多。

答案 1 :(得分:0)

你可以这样做:

var contacts = ....
return contacts.OrderBy(c => c.curname)
    .Skip((CurrentPage - 1) * pageSize)
    .Take(pageSize);

前两个项目必须有pagesizecurrentPage的参数,pageSize = 2currentPage = 1传递更多项目(每次2个项目)传递当前页面= 2等等。