在我的页面上,我有两个webGrids。当我单击一个对该列进行排序时,两个网格都在该列上排序。对仅在一个列中的列进行排序,根本不排序。
我注意到排序的工作原理是使标题成为同一页面的链接,在查询字符串中包含列和方向。这解释了两个网格都受到影响。我想知道webGrid是否有一些功能可以解决我的问题,或者我应该自己修复它。
我计划“自己修复”的方法是首先通过设置htmlAttributes为表标记添加id属性。然后我将使用jQuery为每个webgrid找到这个id,并将该id包含在links参数中。然后当加载带有网格的页面时,我将根据这些参数强制设置要排序的列。
在我看来,webGrid并不是设计在另一个webGrid的页面上。但是,我觉得在我的情况下,这是需要的。我更喜欢使用一些标准方式(内置或其他人使用)。
所以问题是,最好的方法是什么?如果没有最好的方法,我的方式是一个好方法(我忘了什么)?
提前致谢。
答案 0 :(得分:15)
我认为你需要设置以下属性:
string fieldNamePrefix = null
//The value which prefixes the default querystring fields
string pageFieldName = null
//A value that replaces the default querystring page field
var grid1 = new WebGrid(canPage: true, canSort: true, ajaxUpdateContainerId: "grid1", fieldNamePrefix:"g1",pageFieldName: "p1");
var grid2 = new WebGrid(canPage: true, canSort: true, ajaxUpdateContainerId: "grid2", fieldNamePrefix:"g2",pageFieldName: "p2");