使用存储过程的结果为C#中的分页/分页创建Web服务

时间:2018-08-21 06:03:50

标签: c# web-services stored-procedures pagination paging

我正在用c#创建一个Web服务,我想使用来自存储过程的数据。

已经有一个SQL Acces文件和一个Web服务,该服务返回该过程中的所有数据,如下所示:

(SQL访问)

public class SQLDashboardAccess
{

    public List<DashboardItem> GetDashboardItems(int startIndex, int pageSize)
    {
        List<DashboardItem> items = new List<DashboardItem>();
        using (SqlConnection connection = SqlBase.Connect())
        {
            SqlCommand command = new SqlCommand("[dbo].[DataForDashboard]", connection);
            command.CommandType = System.Data.CommandType.StoredProcedure;

            command.Parameters.AddWithValue("@startIndex", startIndex);
            command.Parameters.AddWithValue("@pageSize", pageSize);

            using (SqlDataReader reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    DashboardItem item = new DashboardItem();
                    item.FirstName = reader.GetString(reader.GetOrdinal("FirstName"));
                    item.LastName = reader.GetString(reader.GetOrdinal("LastName"));
                    item.Occupation = reader.GetBoolean(reader.GetOrdinal("Occupation"));
                    item.WorkingSince = reader.GetDateTime(reader.GetOrdinal("WorkingSince"));
                    items.Add(item);

                }

            }
        }
        return items;
    }
}

}

(网络服务)

using System;
using Utility;
using System.Collections.Generic;
using Microsoft.SharePoint.WebControls;

namespace xy
{
    public partial class DashboardWebService : LayoutsPageBase
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SQLDashboardAccess sqlAccess = new SQLDashboardAccess();
            List<DashboardItem> dasboardItem = sqlAccess.GetDashboardItems();
            RequestUtility.jsonResponse(Response, dasboardItem);
        }
    }
}

数据返回正常。

但是我想知道如何设置分页,因为我有很多数据。

我很高兴在那里获得帮助。 非常感谢!

0 个答案:

没有答案