ASP.NET MVC.Чистый способ реализовать постоянную сортировку?
-
22-08-2019 - |
Вопрос
Я до сих пор не нашел ни одного примера реализации сортировки через подкачку в 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