在我的页面上,我有两个webGrids.当我单击一个对该列进行排序时,两个网格都在该列上排序.对仅在一个列中的列进行排序,根本不排序.
我注意到排序的工作原理是使标题成为同一页面的链接,在查询字符串中包含列和方向.这解释了两个网格都受到影响.我想知道webGrid是否有一些功能来解决我的问题,或者我应该自己修复它.
我计划“自己修复”的方法是首先通过设置htmlAttributes为表标记添加id属性.然后我将使用jQuery为每个webgrid找到这个id,并将该id包含在links参数中.然后当加载带有网格的页面时,我将根据这些参数强制设置要排序的列.
在我看来,webGrid不是设计在与另一个webGrid的页面上.但是,我觉得在我的情况下这是理想的.我更喜欢使用一些标准方式(内置或其他人使用).
所以问题是,最好的方法是什么?如果没有最好的方法,我的方式是一个好方法(我忘记了什么)?
提前致谢.
解决方法
我想你需要设置以下属性:
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,ajaxUpdateContainerId: "grid2",fieldNamePrefix:"g2",pageFieldName: "p2");