Я пишу приложение asp.net mvc и получаю список сервисных вызовов, которые я отображаю в таблице. Когда пользователь щелкает заголовок таблицы, я хочу сказать своему контроллеру отсортировать список по этому столбцу.
public ActionResult Index(int? page, string sortBy, string sortDirection)
{
int pageIndex = page == null ? 0 : (int)page - 1;
IServiceCallService scService = new ServiceCallService();
IPagedList<ServiceCall> serviceCalls = scService.GetOpenServiceCalls("").ToPagedList(pageIndex, 2);
return View("List", serviceCalls);
}
Как мне включить sortBy и sortDirection. Я думаю, что мог бы сделать что-то вроде:
IPagedList<ServiceCall> serviceCalls = sc.Service.GetOpenServiceCalls("").OrderBy(sortBy).ToPagedList(pageIndex, 2);
Но это не работает, потому что я предполагаю, что OrderBy хочет лямбду типа p => p.CreateDate, но не уверен, как это сделать.
Я знаю способы, которыми я мог бы это сделать, но они безобразны, и я уверен, что в C # есть кое-что простое, что я просто скучаю.
Спасибо.