Каков синтаксис контроллера для сортировки нескольких сеток MvcContrib?

Я не могу понять синтаксис для сортировки нескольких сеток MvcContrib. Я знаю, что Джереми Скиннер рекомендует здесь использовать атрибут Bind, но я просто не могу получить это правильно.

Вот мой контроллер:

public ActionResult Index([Bind](Prefix="grid1")GridSortOptions sort)\\how do I reference the prefix of my second grid?
{
  ViewData["sort"] = sort;
  var products = _productService.GetAllProducts();
  var categories = _categoryService.GetAllCategories();

  //Here is where I am stuck
  if(sort.Column != null)
   {
     products = products.OrderBy(sort.Column, sort.Direction);
     //how do I reference the sort columns of my second grid?
   }

  var model = new ContainerModel
              {
                Products = products,
                Categories = categories
              };

  return View(model);
}

Думаю, я действительно не все понимаю об атрибуте Bind. Я попытался добавить второй аргумент GridSortOptions, но это не удалось.

Вот мои взгляды, если это поможет.

.Sort((GridSortOptions)ViewData["sort"], "grid1")//Grid 1
.Sort((GridSortOptions)ViewData["sort"], "grid2")//Grid 2

Есть идеи? Спасибо.


person trevorc    schedule 14.09.2011    source источник
comment
Вам еще не повезло с этим? У меня похожие беды.   -  person Mike Cheel    schedule 22.09.2011


Ответы (1)


Я понял свою проблему из моего поста:

MVCContrib Grid - Sort (GridSortOptions, префикс) не создает ссылки для сортировки

Возможно, что связующее по умолчанию не предварительно заполняет ваши параметры, и поэтому ваши GridSortoptions, вероятно, равны нулю, что в конечном итоге означает отсутствие ссылок.

Кроме того, просто создайте второй параметр GridSortOptions для второй сетки и используйте его в вызове Sort().

person Mike Cheel    schedule 23.09.2011
comment
Другим может быть полезно знать, что для того, чтобы это работало, вам нужно установить префикс для каждой из сеток, которые будут сортироваться на одной странице. Например: .Sort((GridSortOptions)ViewData["fooSort"],"foo") - person LOAS; 08.02.2012