Asp.net mvc 3 排序多个MvcContrib网格的控制器语法是什么?

Asp.net mvc 3 排序多个MvcContrib网格的控制器语法是什么?,asp.net-mvc-3,mvccontrib,mvccontrib-grid,Asp.net Mvc 3,Mvccontrib,Mvccontrib Grid,我不太明白排序多个MvcContrib网格的语法。我知道Jeremy Skinner的建议是使用Bind属性,但我就是做不好 这是我的控制器: public ActionResult Index([Bind](Prefix="grid1")GridSortOptions sort)\\how do I reference the prefix of my second grid? { ViewData["sort"] = sort; var products = _productServ

我不太明白排序多个MvcContrib网格的语法。我知道Jeremy Skinner的建议是使用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

有什么想法吗?谢谢。

我从我的帖子中找到了我的问题:

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


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

这方面有什么进展吗?我也遇到了类似的问题。让其他人知道,要让它起作用,您需要为要在同一页面上排序的每个网格设置前缀,这可能会有所帮助。如:
.Sort((GridSortOptions)ViewData[“fooSort”],“foo”)