У меня есть элемент управления пользователем, который содержит повторитель, и его 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();