ASP.NET MVC2 Простой вопрос Linq - PullRequest
0 голосов
/ 11 ноября 2010

У меня есть следующий код:

      public ActionResult ViewCategory(string categoryName, string searchCriteria = "Price")
    {
        // Retrieve Category and its associated Listings from the database
        var categoryModel = db.Categories.Include("Listings")
            .Single(c => c.Title == categoryName);

        var viewModel = new ClassifiedsBrowseViewModel
        {
            Category = categoryModel,
            Listings = categoryModel.Listings.ToList()
        };

        return View(viewModel);
    }

Этот код возвращает некоторые списки из данной категории.

Но я хочу изменить порядок этих результатов поиска на основе определенных критериев. НАПРИМЕР. Цена ...

Большое спасибо, J

Ответы [ 4 ]

1 голос
/ 11 ноября 2010

Вы хотите использовать OrderBy () или OrderByDescending () в зависимости от требований.

Например, заказывая его по самой высокой цене -

var viewModel = new ClassifiedsBrowseViewModel
        {
            Category = categoryModel,
            Listings = categoryModel.Listings.OrderByDescending(c=>c.Price).ToList()
        };
1 голос
/ 11 ноября 2010
Listings = categoryModel.Listings.OrderBy(x => x.Price).ToList();
0 голосов
/ 11 ноября 2010

Другой способ написать Linq - использовать язык запросов:

Listings = from item in categoryModel.Listings
           orderby item.Price
           select item;
0 голосов
/ 11 ноября 2010

Еще один вариант, который может работать, в зависимости от того, как вы представляете информацию: используйте что-то вроде плагина jquery tablesorter и сортируйте результаты на стороне клиента.

Очевидно, что это не будет работать, если естьрезультатов много, и вы делаете пейджинг, но для одной страницы результатов, представленной в таблице, она отлично работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...