排序多个MvcContrib网格的控制器语法是什么?

时间:2011-09-14 15:43:25

标签: asp.net-mvc-3 mvccontrib mvccontrib-grid

我无法弄清楚排序多个MvcContrib网格的语法。我知道Jeremy Skinner here的建议是使用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

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:1)

我在帖子中发现了我的问题:

MVCContrib Grid - Sort(GridSortOptions, prefix) not generating links for sorting

默认绑定器可能没有预填充您的参数,因此您的GridSortoptions可能为null,这意味着最终没有链接。

另外,只需为第二个网格创建第二个GridSortOptions参数,并在调用Sort()时使用该参数。