返回c#中的对象列表(分页)

时间:2013-03-22 19:59:32

标签: c# list paging extjs4.1

我正在尝试返回数据列表以及用于extjs分页工具栏的json格式的记录总数。 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,我只会得到第一页。请帮忙

1 个答案:

答案 0 :(得分:0)

我认为你想要做的就是这样做:

return pagingData;

然后,您可以调用JSON Serializer来创建JSON字符串。