我无法弄清楚排序多个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
有什么想法吗?感谢。
答案 0 :(得分:1)
我在帖子中发现了我的问题:
MVCContrib Grid - Sort(GridSortOptions, prefix) not generating links for sorting
默认绑定器可能没有预填充您的参数,因此您的GridSortoptions可能为null,这意味着最终没有链接。
另外,只需为第二个网格创建第二个GridSortOptions参数,并在调用Sort()时使用该参数。