在 c# 中返回对象列表(分页)
Posted
技术标签:
【中文标题】在 c# 中返回对象列表(分页)【英文标题】:return a list of objects in c# (paging) 【发布时间】:2013-03-22 19:59:32 【问题描述】:我正在尝试以 json 格式为 extjs 分页工具栏返回数据列表以及记录总数。 extjs 查找“count”以计算分页总数。这是我想要的格式。
"count": 1,
"listData": [
"LastName": "Beckham",
"FirstName": "David"
]
这是我的方法
public static List<myList> newRecords(int start, int limit)
List<myList> listData = new List<myList>();
using (SqlConnection con = SqlTools.GetSqlConnection())
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "id1_GetData";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@limit", SqlDbType.Int).Value = limit;
cmd.Parameters.Add("@start", SqlDbType.Int).Value = start;
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
myList list1 = new myList();
list1.LastName = reader["LastName"].ToString().Trim();
list1.FirstName = reader["FirstName"].ToString().Trim();
listData.Add(list1);
con.Close();
int count = countRecords(); //counts total number of records in db
var pagingData = (new
count,
listData
);
//return myList;
return new List<myList>(pagingData);
这样我什么也得不到……如果我返回 myList,我只会得到第一页。请帮忙
【问题讨论】:
EagleFox 你在做这个大错特错...你想在列表中成为什么LastName " " + FirstName
..?
返回return new count = count, listData = listData ;
怎么样?我看不出您在上面粘贴的内容如何编译。
DJ KRAZE...我返回一大堆数据..名字和姓氏只是示例...它基本上返回一个 JSON 字符串
我明白了 很高兴看到 myList 的定义,因为我只是在想一种方法,您可以将一个数组 的新项目添加到列表中
【参考方案1】:
我认为你想做的就是这样做:
return pagingData;
然后您可以调用 JSON 序列化器来创建 JSON 字符串。
【讨论】:
以上是关于在 c# 中返回对象列表(分页)的主要内容,如果未能解决你的问题,请参考以下文章