Я пытаюсь добавить пейджинг на сайт, показывая 10 номеров в верхней части каждой страницы. Я написал этот код для создания 10 номеров, соответствующих каждой страницеСоздание списка номеров страниц для веб-страницы
@for (int i = (Math.Ceiling(page/10 - 1) * 10) + 1; i <= Math.Ceiling(page/10 - 1) * 10 + 10 ; i++)
{
@Html.ActionLink(i.ToString(), "ShowItems", page = i.ToString() })
@Html.Raw(",");
}
Это работает отлично, за исключением конца. Например, если у меня есть 12 страниц, пейджинговая покажет
1 2 3 4 5 6 7 8 9 10
Для всех страниц между 1-10 и затем покажет
11 12 13 14 15 16 17 18 19 20
Для страниц 11 и 12.
Мне нужно измените мой цикл на то, что останавливает счетчик на последней странице.
Любые идеи?
Спасибо!
P.S Я не хочу использовать PagedList
, поскольку я имею дело с огромными данными и не могу загрузить его на одном.
может быть, это глупый комментарий. Но почему вы не просто зацикливаетесь так: @for (int i = 1; i <= page; i ++) { @ Html.ActionLink (i.ToString(), "ShowItems", page = i.ToString ()}) @ Html.Raw (","); } –
PagedList имеет метод расширения на IQueryable, поэтому, когда вы имеете дело с большим количеством данных, вам не нужно загружать все это. Кроме того, если вы хотите обрабатывать пейджинг самостоятельно, вы можете создать «StaticPagedList» и использовать пейджер PagedList. – cadrell0
@RonaDona отправила вам многоразовое пейджинговое решение для asp.net mvc. – qwr