我有一个使用服务器数据绑定的Telerik ASP.NET MVC网格,并启用了列大小调整和重新排序。如果我手动重新排序或重新调整列大小,然后使用网格寻呼机跳转到网格的另一页,则列大小和顺序将恢复为默认设置。在分页时保留用户对列大小和顺序的更改的最佳方法是什么?
在Telerik演示站点上,我找到了一个使用带有AJAX数据绑定的隐藏表单字段的示例,但据我所知,这对于绑定HTTP GET的服务器不起作用。我开始使用cookie而不是隐藏的表单字段,但它开始变得混乱,我正在寻找有关替代方法的反馈。
答案 0 :(得分:1)
您可以将列宽作为模型的一部分或使用ViewBag(或ViewData,如果您使用的是MVC 2)向下传递给网格
然后,您可以使用以下方式设置列宽:
.Width((int)ViewBag.col1Width);
- 或 -
.Width((int)model.col1Width);
然后,您可以通过OnColumnResize
事件使用回调更新值(当用户调整网格列时会引发此事件)
如果您正在使用会话状态,则还可以将值存储在会话变量中(如果它们要在整个用户会话期间保留)。