Asp.net mvc 3 排序多个MvcContrib网格的控制器语法是什么?
我不太明白排序多个MvcContrib网格的语法。我知道Jeremy Skinner的建议是使用Bind属性,但我就是做不好 这是我的控制器: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
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”)