Как использовать SKIP () и взять () с iQueryable

У меня есть элемент управления пользователем, который содержит повторитель, и его DataSouce устанавливается с использованием объекта iEnumerable, который содержит данные, возвращаемые из запроса в код. Репретеритор имеет функциональность подкачки и отображает пользовательское количество записей для каждой страницы.

Я не хочу загружать все данные каждый раз, когда пользователь нажимает кнопку «Далее», чтобы увидеть следующую страницу записей в репитере. Как я могу сделать это iQueryable и использовать Skip () и взять (), чтобы отобразить только записи, необходимые для этой страницы?

У меня есть следующий код:

//Code that assigns query to repeater data source
DataSet = QueryGoesHere.ToArray(); // returns IEnumerable
repeater.DataSource = DataSet;
repeater.DataBind();

//Code that creates PagedDataSource - how can I update this to make it display only the records that are needed for the currently displayed page?

            objPds = new PagedDataSource();
            objPds.DataSource = DataSource
            objPds.AllowPaging = true;
            objPds.PageSize = 5;
            objPds.CurrentPageIndex = CurrentPage;
            lblCurrentPage.Text = "Page: " + (CurrentPage + 1).ToString() + " of " + objPds.PageCount.ToString();
6
задан Theomax 17 September 2011 в 09:30
поделиться