ASP.NET MVC.Чистый способ реализовать постоянную сортировку?

StackOverflow https://stackoverflow.com/questions/704415

Вопрос

Я до сих пор не нашел ни одного примера реализации сортировки через подкачку в ASP.NET MVC.
(сортировка по имени->нажмите страницу 2->страница 2 по-прежнему сортируется по имени).

Я мог бы «взломать» его, испачкать, но я уверен, что для этого нужны хорошие практические руководства.

А как насчет сортировки по двум столбцам?

Это было полезно?

Решение

Просто сохраните выражение сортировки в представлении модели и запишите его в ссылки маршрута разбиения на страницы.
Например:

/MyEntity/Page/2?sort=Name

Или с настраиваемой маршрутизацией, например:

/MyEntity/Page/2/Name

Для последнего отображение маршрута будет выглядеть так:

{controller}/Page/{pageIndex}/{sortExpression}

Другие советы

Я делаю это точно так же, как делает aleris, за исключением того, что я использую поле перечисления в своей модели для значений сортировки, таким образом, оно будет возвращаться к значению по умолчанию, если они введут параметр сортировки, который не существует.

public enum SortArticle
{
   Title,
   Published
}

public enum SortOrder
{
   Asc,
   Desc
}

articles/{sort}/{order}/{page}
articles/published/desc/1
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top