Я создал paginatedList и пейджер для этого для моего проекта ASP.NET MVC.Это прекрасно работает, хорошо, что так.
Одна вещь, которую я не могу понять, это то, как поставить ...
после определенного момента.Например, допустим, мой пейджер выглядит следующим образом:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Next >>>
Мне нужно кое-что из следующего:
1
2
3
4
5
6
7
8
9
10
...
Next >>>
...
здесь для 11
здесь.Когда мы переходим на страницу 11
, пейджер должен выглядеть следующим образом:
...
11
12
13
14
Next >>>
Эта реализация являетсятот, который я не могу понять, как это сделать.
А вот как выглядит мой текущий код пейджера:
<div id="pager">
@if (Model.PrimaryModel.HasPreviousPage) {
@:@Html.ActionLink(
"<<< Previous",
Model.Property["action"],
new {
controller = Model.Property["controller"],
Area = Model.Property["area"],
page = (Model.PrimaryModel.PageIndex - 1)
},
new {
data_jquery_ajax_url = Url.Action(
string.Format("pagerAjaxCall_{0}", Model.Property["action"]),
new {
controller = Model.Property["controller"],
Area = Model.Property["area"],
page = (Model.PrimaryModel.PageIndex - 1)
}
)
}
)
}
@if (Model.PrimaryModel.TotalPages >= 2) {
int totalPageNumber = 0;
for (int i = 0; i < Model.PrimaryModel.TotalPages; i++) {
int value = i + 1;
if (Model.PrimaryModel.PageIndex == i) {
@:@Html.ActionLink(value.ToString(), Model.Property["action"], new { controller = Model.Property["controller"], Area = Model.Property["area"], page = (i) }, new { @class = "active-page", data_jquery_ajax_url = Url.Action(string.Format("pagerAjaxCall_{0}", Model.Property["action"]), new { controller = Model.Property["controller"], Area = Model.Property["area"], page = (i) }) })
} else {
@:@Html.ActionLink(value.ToString(), Model.Property["action"], new { controller = Model.Property["controller"], Area = Model.Property["area"], page = (i) }, new { data_jquery_ajax_url = Url.Action(string.Format("pagerAjaxCall_{0}", Model.Property["action"]), new { controller = Model.Property["controller"], Area = Model.Property["area"], page = (i) }) })
}
totalPageNumber++;
}
@*@:current : @(Model.PrimaryModel.PageIndex+1), totalPage @totalPageNumber.ToString(), right side @((totalPageNumber - Model.PrimaryModel.PageIndex)-1), left side @(totalPageNumber - (totalPageNumber - Model.PrimaryModel.PageIndex))*@
}
@if (Model.PrimaryModel.HasNextPage) {
@:@Html.ActionLink(
"Next >>>",
Model.Property["action"],
new {
controller = Model.Property["controller"],
Area = Model.Property["area"],
page = (Model.PrimaryModel.PageIndex + 1)
},
new {
data_jquery_ajax_url = Url.Action(
string.Format("pagerAjaxCall_{0}", Model.Property["action"]),
new {
controller = Model.Property["controller"],
Area = Model.Property["area"],
page = (Model.PrimaryModel.PageIndex + 1)
}
)
}
)
}
</div>
Есть мысли?