Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c中单击数据库中的按钮加载前20项,然后加载下20项#_C#_Asp.net_Asp.net Mvc 3 - Fatal编程技术网

C# 在c中单击数据库中的按钮加载前20项,然后加载下20项#

C# 在c中单击数据库中的按钮加载前20项,然后加载下20项#,c#,asp.net,asp.net-mvc-3,C#,Asp.net,Asp.net Mvc 3,我想做一些类似分页的事情。假设我们的数据库中有100个联系人。当我的索引页面第一次加载时,它将从数据库中加载20个联系人项目。页面末尾有一个“更多”按钮。当用户单击该按钮时,我想从数据库中加载接下来的20个项目,并在已经显示的联系人下方显示它们 public ActionResult Index(int no) { var contacts = GetContactFromDB(no) //no is used to know what is the current page nu

我想做一些类似分页的事情。假设我们的数据库中有100个联系人。当我的索引页面第一次加载时,它将从数据库中加载20个联系人项目。页面末尾有一个“更多”按钮。当用户单击该按钮时,我想从数据库中加载接下来的20个项目,并在已经显示的联系人下方显示它们

 public ActionResult Index(int no)
 {
     var contacts = GetContactFromDB(no) //no is used to know what is the current page number
 }

 public IList<Contact> GetContactFromDB(int pagenumber)
 {
      // here  write the query to get next 20 items 
  }
public ActionResult索引(int-no)
{
var contacts=GetContactFromDB(no)//no用于知道当前页码
}
公共IList GetContactFromDB(int页码)
{
//在这里编写查询以获取接下来的20项
}

我想有一件事我忘了告诉你,我不想失去前20个。我的意思是,当用户单击按钮时,接下来的20个联系人将使用AJAX请求从数据库中获取,并将这些新的20个联系人附加到之前的联系人之后

只需结合使用Linq中的和扩展方法:

return Contacts.Skip(PageSize * pageNumber).Take(PageSize).ToList();
注意:这不考虑您如何获得
联系人
。但是我想你已经知道:)而且,它假设
pageNumber
是基于0的。

如果使用Linq To SQL或Linq To Entities,则对
Skip
Take
的调用也将转换为最终数据库查询的一部分

只需结合使用Linq中的和扩展方法:

return Contacts.Skip(PageSize * pageNumber).Take(PageSize).ToList();
注意:这不考虑您如何获得
联系人
。但是我想你已经知道:)而且,它假设
pageNumber
是基于0的。
如果使用Linq To SQL或Linq To Entities,则对
Skip
Take
的调用也将转换为最终数据库查询的一部分

给你

public IList<Contact> GetContactFromDB(int pagenumber)
 {
      return context.Contacts.OrderBy(p=>p).Skip(pagenumber*10).Take(10).ToList();
 }
public IList GetContactFromDB(int页码)
{
返回context.Contacts.OrderBy(p=>p).Skip(页码*10).Take(10).ToList();
}
您可以使用所需联系人类的任何字段进行订购

此外,我建议您将希望在每个页面中显示的联系人数(在本例中为10)存储为常量。这将使您的代码更加通用。

给您

public IList<Contact> GetContactFromDB(int pagenumber)
 {
      return context.Contacts.OrderBy(p=>p).Skip(pagenumber*10).Take(10).ToList();
 }
public IList GetContactFromDB(int页码)
{
返回context.Contacts.OrderBy(p=>p).Skip(页码*10).Take(10).ToList();
}
您可以使用所需联系人类的任何字段进行订购


此外,我建议您将希望在每个页面中显示的联系人数(在本例中为10)存储为常量。它将使您的代码更加通用。

在asp.net表单中,我会用当前索引(20,40)隐藏,并且总是从x-20到x进行操作。

在asp.net表单中,我会用当前索引(20,40)隐藏,并且总是从x-20到x进行操作。

什么数据库?你试过什么?你的问题是什么?你试过什么?什么数据库?你试过什么?你的问题是什么?你试过什么?