Я пытаюсь выполнить обработку данных JQuery на стороне сервера с помощью ASP.NET MVC с Entity Framework. Я столкнулся с Datatables.AspNet пакетом Nuget, но неясно, как его использовать для динамического сортировки столбцов при нажатии на заголовки таблиц.Как выполнить сортировку на стороне сервера с помощью Datatables.AspNet.Mvc5
В example on Datatables.AspNet GitHub есть это:
public ActionResult PageData(IDataTablesRequest request)
{
var data = Models.SampleEntity.GetSampleData();
var filteredData = data.Where(_item => _item.Name.Contains(request.Search.Value));
// Paging filtered data.
var dataPage = filteredData.Skip(request.Start).Take(request.Length);
var response = DataTablesResponse.Create(request, data.Count(), filteredData.Count(), dataPage);
return new DataTablesJsonResult(response, JsonRequestBehavior.AllowGet);
}
Но я не уверен, как приступить к динамически сортировать на основе содержимого объекта IDataTablesRequest, который выглядит следующим образом:
public interface IDataTablesRequest
{
int Draw { get; }
int Start { get; }
int Length { get; }
ISearch Search { get; }
IEnumerable<IColumn> Columns { get; }
IDictionary<string, object> AdditionalParameters { get; }
}
public interface ISort
{
int Order { get; }
SortDirection Direction { get; }
}
public enum SortDirection
{
Ascending = 0,
Descending = 1
}
посмотрите здесь: HTT ps: //www.codeproject.com/Articles/1118363/GridView-with-Server-Side-Filtering-Sorting-and-Pa –
@EhsanSajjad, спасибо, но похоже, что ваш код основан на более старой версии Datatables. Пакет AspNet. Метод GetSortedColumns больше не существует. – Jiveman
На самом деле, только что понял, что я использую другой пакет Nuget. Вы ссылаетесь на 'datatables.mvc5', и я использую' datatables.aspnet.mvc5', которые кажутся двумя несвязанными проектами, которые объясняли бы «отсутствующий» метод. Но я до сих пор понимаю эту идею. Посмотрите ближе к своему коду, чтобы узнать, могу ли я его применить. – Jiveman